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

コメント