laravel内置的日志记录方式,如何优雅的统一加上request_id字段?
项目日志里的日志记录方式为Log::channel('cancel_order')->error('取消订单',[
'order' => $order,
]);
这个怎么统一加上request_id?
百度出来的有点复杂,还没尝试
Laravel 8 加了这个功能 learnku.com/docs/laravel/8.x/loggi...
@leo
8版本还真有withContext,Log门面有这个方法,版本5.8报错,没有,有啥好的解决方案没
withContext 就是这个 commit 引入的,github.com/laravel/framework/commi...
所以你要实现低版本的 Laravel 支持 withContext 只需要新建一个类继承
Illuminate\Log\Logger
这个类然后做与上面这个 commit 类似的修改,最后注入回 Laravel 的 container 即可用one框架 github.com/lizhichao/one 吧,这些都是自带的默认就有 .
request_id
文件名
行号
@leo 留下了没有技术的泪水
self::$logger->pushProcessor(new \Monolog\Processor\UidProcessor(32));
@chenji 这放哪里呀,大佬
这样写会不会有问题,channel 有个格式化器设置
@leo @chenji