laravelのKernel::scheduleメソッドに登録された毎分バッチのパフォーマンス検証するために毎分バッチの開始時にログ出力したい
毎分バッチのパフォーマンス検証のため、batch.logへscheduleへ開始ログを仕込みたいと思っています。
以下のようにすると、ログ出力についてもスケジューリングされバッチ実行時に以下のように毎回ログが出力されてしまいました。
コンストラクタで出力しようとするとterminalでエラーとなりそもそも実行できませんでした。
オーバーライドしたhandleメソッドでログ出力すると、schedule : startが2行となってしまいました。
ログ出力処理についてもバッチ化する以外になにか方法がありましたらご教授のほどお願いいたします。
protected function schedule(Schedule $schedule)
{
$this->logger = app('batch.log');
$this->logger->info('****************** schedule : start ******************');
$schedule->command('aaa')->cron('* * * * * *')->withoutOverlapping();
$schedule->command('bbb')->cron('* * * * * *')->withoutOverlapping();
$schedule->command('ccc')->cron('* * * * * *')->withoutOverlapping();
$schedule->command('ddd')->cron('* * * * * *')->withoutOverlapping();
//他バッチは省略
}
↑で出力されるログ
[2018-07-12 02:57:00] batch.log.INFO: ****************** schedule : start ******************
[2018-07-12 02:57:00] batch.log.INFO: aaa : start
[2018-07-12 02:57:01] batch.log.INFO: aaa : end : elapsed time : 0.061
[2018-07-12 02:57:01] batch.log.INFO: ****************** schedule : start ******************
[2018-07-12 02:57:01] batch.log.INFO: bbb : start
[2018-07-12 02:57:02] batch.log.INFO: bbb : end : elapsed time : 0.058
[2018-07-12 02:57:02] batch.log.INFO: ****************** schedule : start ******************
[2018-07-12 02:57:02] batch.log.INFO: ccc : start
[2018-07-12 02:57:03] batch.log.INFO: ccc : end : elapsed time : 0.179
[2018-07-12 02:57:03] batch.log.INFO: ****************** schedule : start ******************
[2018-07-12 02:57:03] batch.log.INFO: ddd : start
[2018-07-12 02:57:04] batch.log.INFO: ddd : end : elapsed time : 0.157
出力したいログ
[2018-07-12 02:57:00] batch.log.INFO: ****************** schedule : start ******************
[2018-07-12 02:57:00] batch.log.INFO: aaa : start
[2018-07-12 02:57:01] batch.log.INFO: aaa : end : elapsed time : 0.061
[2018-07-12 02:57:01] batch.log.INFO: bbb : start
[2018-07-12 02:57:02] batch.log.INFO: bbb : end : elapsed time : 0.058
[2018-07-12 02:57:02] batch.log.INFO: ccc : start
[2018-07-12 02:57:03] batch.log.INFO: ccc : end : elapsed time : 0.179
[2018-07-12 02:57:03] batch.log.INFO: ddd : start
[2018-07-12 02:57:04] batch.log.INFO: ddd : end : elapsed time : 0.157
<環境>
php 7.0
Laravel 5.3