如何将需要记录的日志单独记录到一个日志中
有时候需要将具体情况的日志统一记录到单一的类目中方便查看。比如支付日志,回调日志。可以使用通道解决方法。
1.日志通道channel
将配置不同的日志通道,将不同的日志记录到不同的日志中
使用方法:
Log::channel('pay')->info('支付日志');
配置日志文件config/log.php,加入不同的配置:
return [
// 默认日志记录通道
'default' => env('log.channel', 'file'),
// 日志记录级别
'level' => [],
// 日志类型记录的通道 ['error'=>'email',...]
'type_channel' => [],
// 关闭全局日志写入
'close' => false,
// 全局日志处理 支持闭包
'processor' => null,
// 日志通道列表
'channels' => [
'file' => [
// 日志记录方式
'type' => 'File',
// 日志保存目录
'path' => '',
// 单文件日志写入
'single' => false,
// 独立日志级别
'apart_level' => [],
// 最大日志文件数量
'max_files' => 0,
// 使用JSON格式记录
'json' => false,
// 日志处理
'processor' => null,
// 关闭通道日志写入
'close' => false,
// 日志输出格式化
'format' => '[%s][%s] %s',
// 是否实时写入
'realtime_write' => false,
],
// 其它日志通道配置
'pay' => [
'type' => 'File',
'path' => app()->getRootPath().'runtime/pay', // 重点这个路径要写
'time_format' => 'Y-m-d H:i:s',
'format' => '[%s][%s]:%s'
]
],
];