localdiskさんのツイートを見て「ServiceProvider書いてみよう!」と思ってやってみました。
Laravel で SQL だけ別ファイルにして Log 出したいんだけど、macro ないんよね。ServiceProvider書いて置き換えるのもな…。どうすべきでしょう?
— MATSUO Masaru (@localdisk) 2014, 6月 4laravel.logに出すことなく別のLogに出すという感じみたいです。
ちなみにほとんどの部分をIlluminate/Logからパクりました(ぇ
やったこと
まずはIllminate/Logをフォルダごとコピーして、LogSqlと名称を変更。
その後、LogSqlの中にあるLogServiceProvider.phpをLogSqlServiceProvider.phpに改名。
改名後、中身を以下のように変更。
次にWriter.phpのnamespaceも変更ー。
で、app/config/app.phpのprovidersとaliasesも変更しましょー。
続いて、Illuminate/Support/Facades/Log.phpをコピーしてIlluminate/Support/Facades/LogSql.phpを作成して中身を変更ー。
あとは、app/start/global.phpでSQLのイベントをキャッチする仕組みとuseFilesを書けばおわりー。
このあと、php artisan clear-compiledするといいかも。
勉強になりました!