как настроить логирование в laravel 5,7 - PullRequest
0 голосов
/ 11 апреля 2019

Я прочитал руководство "laravel5.7".И добавьте настраиваемый класс monolog в параметры нажатия в «logging.php», но он не работает.

Это для «laravel5.7», PHP 7.2.11-4

'channels' => [
    'stack' => [
        'driver' => 'stack',
        'channels' => ['single'],
    ],

    'single' => [
        'driver' => 'single',
        'tap' => [App\Log\CustomizeFormatter::class],
        'path' => storage_path('logs/laravel.log'),
        'level' => 'debug',
    ],
 ]

class CustomizeFormatter
{
    public function __invoke($logger)
    {
        $dateFormat = "Y n j, g:i a";
        $output = "%datetime% > %level_name% > %message% %context% extra%\n";
        $formatter = new LineFormatter($output, $dateFormat);
        foreach ($logger->getHandlers() as $handler) {
                $handler->setFormatter($formatter);
            }
    }
}

Я ожидаю, что смогу настроить ведение журнала и записать дополнительный столбец в журнал.

1 Ответ

0 голосов
/ 11 апреля 2019
public function __invoke($logger)
{
    foreach ($logger->getHandlers() as $handler) {
        $handler->pushProcessor(function ($record) {
            $record['extra']['id'] = $GLOBALS['log_id'];
            $record['extra']['app'] = config('app.name');
            return $record;
        });
        $format = "[%datetime%] [%extra.id%] [%extra.app%] [%level_name%] [%message%] [%context%]\n";
        $ll =  new LineFormatter($format, null, true, true);
        $handler->setFormatter($ll);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...