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
コメント