Laravel 运行时具有动态路径的流明记录
我在Laravel 运行时具有动态路径的流明记录,laravel,logging,lumen,monolog,Laravel,Logging,Lumen,Monolog,我在bootstrap/app.php文件中使用了这个函数 $app->configureMonologUsing(function ($monolog) { $maxFiles = 7; $rotatingLogHandler = (new Monolog\Handler\RotatingFileHandler(storage_path('logs/lumen.log'), $maxFiles)) ->setFormatter(new Monolog\Formatte
bootstrap/app.php
文件中使用了这个函数
$app->configureMonologUsing(function ($monolog) {
$maxFiles = 7;
$rotatingLogHandler = (new Monolog\Handler\RotatingFileHandler(storage_path('logs/lumen.log'), $maxFiles))
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, true, true));
$monolog->setHandlers([$rotatingLogHandler]);
return $monolog;
});
它正在根据日期生成日志文件。但每次我必须更改日志文件路径时,我都会生成日志文件,如
storeage/logs/USERID/DATEWISELOG.log
而不是将日志文件创建为storeage/logs/DATEWISELOG.log
是否可以根据用户生成
日志文件
路径?由于您并不总是拥有经过身份验证的用户,这在技术上是很困难的
然后,日志处理程序在大多数提供程序(包括database one)之前引导,因此很难使其依赖于登录的用户
除非你自己闯进来。我终于得到了答案 在bootstrap/app.php中
$app->configureMonologUsing(function ($monolog) {
$maxFiles = 7;
$rotatingLogHandler = (new Monolog\Handler\RotatingFileHandler(config("path"), $maxFiles))
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, true, true));
$monolog->setHandlers([$rotatingLogHandler]);
return $monolog;
});
用户登录后,按如下所示更改配置(“路径”)的值
config(['path' => storage_path('logs')."/".$user->user_id."/lumen.log"]);
它将在运行时更改config的值