如何在Laravel中自定义作业的日志输出?

问题描述 投票:0回答:2

我看到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());
}

在工人的日志(主管)中,我看到以下内容:

[2019-12-17 02:13:13][40770367] Processed: App\Jobs\UpdateItemStatus
[2019-12-17 05:11:53][40792760] Processing: App\Jobs\UpdateItemStatus
[2019-12-17 05:11:54][40792761] Processing: App\Jobs\UpdateItemStatus
[2019-12-17 05:11:54][40792760] Processed: App\Jobs\UpdateItemStatus
[2019-12-17 05:11:54][40792762] Processing: App\Jobs\UpdateItemStatus

我应该添加到作业中以看到以下行:

[[2019-12-17 05:11:54] [40792762]处理中的项目ID#333333(状态[200确定]):App \ Jobs \ UpdateItemStatus

php laravel logging supervisord
2个回答
0
投票

config/logging.php添加新频道:

'updateItem' => [
    'driver' => 'single',
    'path' => storage_path('logs/updateItem.log'),
    'level' => 'info',
]

然后在handleUpdateItemJob内记录所需的任何内容:

Log::channel('updateItem')->info('Hello world!!');

然后查看您的日志文件实时。例如:

tail -f storage/logs/updateItem.log

如果您不需要自定义日志文件。只需使用Log::info('Hello world!!');tailstorage/logs中的默认日志文件>

Source


0
投票

Supervisor将按照it's config file的定义将任何写入标准输出的内容输出到日志文件:

© www.soinside.com 2019 - 2024. All rights reserved.