この記事でLaravelのログ出し設定について書いているのですが、
本番と開発とで同じ様にログが出るので、本番環境でどんどんログが出るとどんどん溜まるよね。。?
と気になっており、設定を変更してみました。
設定変更おおまかな流れ
ざっくり説明を書いておきますと、
ログ出力に関しては config/logging.php に設定が書かれている。
その内容はベタ書きなので、本番・開発で出し分けられるように、以下のように記述を変更する。
'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['single'], 'ignore_exceptions' => false, ], 'single' => [ 'driver' => 'single', 'path' => storage_path('logs/laravel.log'), 'level' => env('LOG_LEVEL', 'debug'), /////ここを.env設定を見るように変更!! ],
そして本番の.envに
LOG_LEVEL=error
を追記。
こうすると、本番環境では.envの設定のようにerror以上のログが出力され、開発では.envに記述がないのでデフォルトのdebug(全部出力)が設定されるようになります。
参考めも
ログレベルは emergency、alert、critical、error、warning、notice、info、debug がある。configに指定したlevel以上を出力する
という動きになる。
- debug → 全部出力
- error → emergency、alert、critical、errorだけが出力される
stackは、復数のログ吐き出しを指定できる。'channels' => ['single'],
ここで配列で指定。
デフォルトではstackがsingleなので、singleの設定でlogが出るようになってる。