Пав*_*нов 5 php logging supervisord laravel
我看到 Laravel 使用 Monolog 库来处理日志。我在工作中有以下处理方法:
ApiUpdateItemJob.php:
public function handle()
{
$data = [
'id' => $this->item_id,
'data[status]' => $this->status,
];
$response = ApiFacedeClient::exec('Item', 'update', $data);
$result = json_decode($response->getBody());
}
Run Code Online (Sandbox Code Playgroud)
在工人的日志(主管)中,我看到以下内容:
public function handle()
{
$data = [
'id' => $this->item_id,
'data[status]' => $this->status,
];
$response = ApiFacedeClient::exec('Item', 'update', $data);
$result = json_decode($response->getBody());
}
Run Code Online (Sandbox Code Playgroud)
我应该在作业中添加什么才能看到以下行:
[2019-12-17 05:11:54][40792762] 处理项目 ID #333333(状态 [200 OK]):App\Jobs\UpdateItemStatus
你在 worker 的日志文件中看到的日志是 Laravel 输出的,并且是不可配置的。
您最好的选择是定义一个自定义日志通道,该通道记录到工作人员的文件并在您HTTP提出请求后推送您的文件。
定义一个基于单个文件或路径的记录器通道config/logging.php:
'supervisorLog' => [
'driver' => 'single',
'name' => 'supervisor-log',
// ath should be same as stdout_logfile in supervisord.conf
'path' => storage_path('path/to/supervisor/log/file'),
'locking' => false
],
Run Code Online (Sandbox Code Playgroud)$result = json_decode($response->getBody());在你的之后添加这个ApiUpdateItemJob.php:
Log::channel('supervisorLog')->info("Processing item id " + $this->item_id +" (Status ["+ $response->status() +"]): App\Jobs\UpdateItemStatus");
结果将类似于:
[2019-12-17 05:11:53][40792760] 处理:App\Jobs\UpdateItemStatus
[2019-12-17 05:11:54][40792761] 处理项目 ID #333333(状态 [200]):App\Jobs\UpdateItemStatus
[2019-12-17 05:11:54][40792760] 已处理:App\Jobs\UpdateItemStatus
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |