[Laravel8.x] debugログの見方とerrorログの設定

$ less storage/logs/laravel.log

ログに書き込まれるレベル
emergency, alert, critical, error, warning, notice, info, debug

[2020-12-25 11:25:08] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {“exception”:”[object] (InvalidArgumentException(code: 0): Log [] is not defined. at /home/vagrant/dev/testApp/vendor/laravel/framework/src/Illuminate/Log/LogManager.php:192)

[2020-12-26 11:55:12] local.ERROR: syntax error, unexpected ‘Route’ (T_STRING), expecting ‘)’ {“exception”:”[object] (ParseError(code: 0): syntax error, unexpected ‘Route’ (T_STRING), expecting ‘)’ at /home/vagrant/dev/testApp/routes/web.php:73)

ログの出力はconfigs/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'),
        ],

-> stackのsingleつまり、’LOG_LEVEL’, ‘debug’がlogs/laravel.logに出力されている
-> ログレベル:デバッグ(詳細なデバッグ情報を出力)

エラーのみを出力するファイルを作成する

 'stack' => [
            'driver' => 'stack',
            'channels' => ['single','errors'],
            'ignore_exceptions' => false,
        ],

        'single' => [
            'driver' => 'single',
            'path' => storage_path('logs/laravel.log'),
            'level' => env('LOG_LEVEL', 'debug'),
        ],
        'errors' => [
            'driver' => 'daily',  // 日付ごとにファイルを出力
            'path' => storage_path('logs/errors.log'), // errors-YYYY-MM-DD.log
            'level' => 'error',
            'days' => 28, // ログを保有する日数:28日
        ],

どういう運用をしたいかによると思うが、errorログは最低限出力しておきたい。