読者です 読者をやめる 読者になる 読者になる

生涯未熟

プログラミングをちょこちょこと。

実行するSQLのクエリーをlaravel.log以外に吐いてみた

localdiskさんのツイートを見て「ServiceProvider書いてみよう!」と思ってやってみました。



laravel.logに出すことなく別のLogに出すという感じみたいです。

ちなみにほとんどの部分をIlluminate/Logからパクりました(ぇ

やったこと

まずはIllminate/Logをフォルダごとコピーして、LogSqlと名称を変更。

その後、LogSqlの中にあるLogServiceProvider.phpをLogSqlServiceProvider.phpに改名。
改名後、中身を以下のように変更。


gist40d03e06553e67dc4d9a



次にWriter.phpのnamespaceも変更ー。


gist37acdfc367cf1e1e83dc



で、app/config/app.phpのprovidersとaliasesも変更しましょー。


gistf23b7357374a4acbf371




gist2eaea2fdebebc358ebc9


続いて、Illuminate/Support/Facades/Log.phpをコピーしてIlluminate/Support/Facades/LogSql.phpを作成して中身を変更ー。


gistcfab4955ed26c01ef44d


あとは、app/start/global.phpSQLのイベントをキャッチする仕組みとuseFilesを書けばおわりー。



gist59ffe19272a78963d623



このあと、php artisan clear-compiledするといいかも。

勉強になりました!



PHPフレームワーク完全マスター
佐久嶋 ひろみ
メディアテック出版
売り上げランキング: 762,537