SQLの発行履歴を別ファイルのログに保存する [Laravel]
Laravelで開発環境時に実行したSQLの履歴をstorage\logs\laravel.logとは別にstorage\logs\sql.logに保存する方法です。
storage\logs\sql.logの例

ソースコード
app\Providers\AppServiceProvider.php
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { public function register() { } public function boot() { // デバッグ環境のみSQLログを出力する if (config('app.env') !== 'production') { \DB::listen(function ($query) { $fp = fopen(storage_path('logs/sql.log'), "a"); try{ fwrite($fp, date("Y-m-d H:i:s") . " 実行時間({$query->time}s) {$query->sql}\n"); }finally{ fclose($fp); } }); } } }
最初は必要と思ったんですが、やってみると不要かも知れない(笑)
スポンサーリンク
関連記事
公開日:2020年11月16日
記事NO:02850
この記事を書いた人
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
プチモンテ代表、アーティスト名:プチモンテ | |
🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~ |
オリジナル曲を始めました✨
YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte