与状态本身一样,我希望为不同的进程创建多个日志文件。我用的是拉拉维尔-8。我还在配置文件夹中的logging.php帮助下创建了1日志文件。
我希望用自己单独的日志文件跟踪创建的命令。
如何为该命令创建单独的日志文件?
我做这件事的时候每天只有一个日志。"config/logging.php“
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily'],
'ignore_exceptions' => false,
]...,
]发布于 2021-06-15 06:10:17
您应该使用config/logging.php为每个命令创建自定义通道。
'CHANNEL_NAME' => [
'driver' => 'single',
'path' => storage_path('logs/LOG_FILE_NAME.log'),
'level' => 'DESIRED_LEVEL',
],并根据需要更改CHANNEL_NAME、LOG_FILE_NAME和DESIRED_LEVEL值。
注意: 'level' => 'DESIRED_LEVEL'是可选的。它可以是水平(laravel v8.x)的单个级别或数组。
然后,当您想在命令类中记录任何内容时,请记录如下代码
使用:
Log::channel('CHANNEL_NAME')
->info('Something happened!');发布于 2021-06-15 05:57:21
下面的代码将生成自定义日志文件。
try{
//Your code here
}catch(\Exception $e){
$cusLog = new Logger('stack');
$err_file_name = $task_id."_".time();
$syncHistory['file_name'] = $err_file_name;
$cusLog->pushHandler(new StreamHandler(storage_path('logs/'.$err_file_name.'.log')), Logger::INFO);
$cusLog->info('error', ['Exception'=>$e->getTraceAsString(),'message'=>$e->getMessage()]);
}希望这会有用。
https://stackoverflow.com/questions/67980185
复制相似问题