ведение люмена с динамическим путем во время выполнения - PullRequest
0 голосов
/ 03 октября 2019

Я использовал эту функцию в 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

Можно ли создатьlogfile путь на основе пользователя?

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Наконец я получил свой ответ

в 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 ("путь")как показано ниже,

config(['path' => storage_path('logs')."/".$user->user_id."/lumen.log"]);

это изменит значение конфигурации во время выполнения.

0 голосов
/ 03 октября 2019

Поскольку у вас не всегда есть аутентифицированный пользователь, это будет технически сложно.

Затем обработчик журнала загружается до того, как большинство провайдеров, включая базу данных, будет очень сложно сделать его зависимым отавторизованный пользователь.

Если только вы сами не взломали что-либо.

...