Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 运行时具有动态路径的流明记录_Laravel_Logging_Lumen_Monolog - Fatal编程技术网

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的值