所以
a我正在尝试第一次使用Commands类,我想使队列消息比[2018-09-01 17:57:47][276] Processing: Illuminate\Foundation\Console\QueuedCommand
所以我要做的是以下内容;
我用ConvertRecording
和protected $signature = 'recording:convert {recording_id}';
注册了命令protected $description = 'Convert a recording from mkv to mp4 using an recording id and making use of ffmpeg';
。它有一个空的构造函数,因为我不需要将对象传递给它。该方法只有一些工作代码和一些$this->log()
命令...
现在,当我调用artisan命令时,我使用以下代码:
$exitCode = Artisan::queue('recording:convert', [
'recording_id' => $recording_id
]);
它追加到队列中,但是我只收到像这些消息:
[2018-09-01 17:57:47][276] Processing: Illuminate\Foundation\Console\QueuedCommand
[2018-09-01 17:58:16][276] Processed: Illuminate\Foundation\Console\QueuedCommand
如何将其更改为[2018-09-01 17:58:16] Procesing: Video with ID [video ID here]
答案 0 :(得分:1)
您可能正在使用排队命令来执行某些实际上不打算执行的操作。您在日志中看到的正是作业的意图-也就是说,报告作业的开始时间,完成时间(或失败时间)。在Command处完成有用的工作,因此所有输出和日志记录都应在此完成。
命令自然具有一些控制台日志记录工具,例如错误,信息和注释,可帮助您进行调试:
$this->error('This is an error and will appear highlighted in the console');
$this->info('This is information');
$this->comment('This is a comment');
但是,在生产环境中使用它们可能无法正常工作,因为队列工作人员将无法登录控制台(我可能会误会,因为我从未尝试过查找)。
我建议您仅使用ServiceProvider为命令设置专用的日志文件。