【Laravel】バッチのログファイルを別に書き出す

Laravel でバッチ処理を作ってたんだけど、
ログを吐こうとすると、
storage/logs/ 配下の larabel-xxxx-xx-xx.log ファイルに
全部まとまられてしまって、管理しづらいので
別に書き出す方法をメモメモ

いろいろ方法はあるみたいだけど
これが一番簡単にできたので採用!

手順は2つ

1.config/logging.php のchannels に、’daily’ をコピッてひとつ追加

    'channels' => [
         ・
         ・
         ・
        'errorlog' => [
            'driver' => 'errorlog',
            'level' => 'debug',
        ],
        'batch' => [
            'driver' => 'daily',
            'path' => storage_path('logs/batch.log'),
            'level' => 'debug',
            'days' => 14,
        ],
    ],

2.該当の処理でログを書き出す

use Illuminate\Support\Facades\Log;
   ・
   ・
   ・
    public function handle()
    {
        Log::setDefaultDriver('batch');
        Log::info('start');

あと、キャッシュ削除しないとうまく動かないかも

php artisan config:cache

コメント

タイトルとURLをコピーしました