Php 如何向Laravel 5.6中的所有日志记录添加数据?

Php 如何向Laravel 5.6中的所有日志记录添加数据?,php,laravel,laravel-5.6,Php,Laravel,Laravel 5.6,解答如何向Laravel 5.5及更早版本中的所有日志记录添加数据。e、 g.以下内容添加到AppServiceProvider::register(): 这对Laravel 5.6不起作用。我查阅了“创建自定义频道”的文档,但没有找到任何明显的方法来实现上述行为 错误发生在 @php artisan包:discover-v 我远非这方面的专家,因此非常感谢您的帮助。以下是我如何解决这一问题的 在.env中,使用“stack channel”进行日志记录(即“LOG\u channel=stac

解答如何向Laravel 5.5及更早版本中的所有日志记录添加数据。e、 g.以下内容添加到AppServiceProvider::register():

这对Laravel 5.6不起作用。我查阅了“创建自定义频道”的文档,但没有找到任何明显的方法来实现上述行为

错误发生在

@php artisan包:discover-v


我远非这方面的专家,因此非常感谢您的帮助。

以下是我如何解决这一问题的

  • 在.env中,使用“stack channel”进行日志记录(即“LOG\u channel=stack”)
  • 在config\logging.php中将“点击”添加到驱动程序

    'single' => [
        'driver' => 'single',
        'tap' => [App\Logging\CustomizeFormatter::class],
        'path' => storage_path('logs/laravel.log'),
        'level' => 'debug',
    ]
    
  • 创建应用程序\日志记录\自定义格式:

    namespace App\Logging;
    
    class CustomizeFormatter
    {
        public function __invoke($logger)
        {
            foreach ($logger->getHandlers() as $handler) {
                $handler->pushProcessor(function ($record) {
                    $record['extra']['ip'] = \Request::getClientIp();
                    $record['extra']['path'] = \Request::path();
    
                    return $record;
                });
            }
        }
    }
    

  • 你想把代码放在哪里?当你说它不工作时,会发生什么?有错误吗?@ceejayoz AppServiceProvider。php@ChrisCousins,我将用错误消息更新问题,因为Laravel 5.6您应该使用通道和通道格式化程序自定义日志-请参阅此处的文档
    'single' => [
        'driver' => 'single',
        'tap' => [App\Logging\CustomizeFormatter::class],
        'path' => storage_path('logs/laravel.log'),
        'level' => 'debug',
    ]
    
    namespace App\Logging;
    
    class CustomizeFormatter
    {
        public function __invoke($logger)
        {
            foreach ($logger->getHandlers() as $handler) {
                $handler->pushProcessor(function ($record) {
                    $record['extra']['ip'] = \Request::getClientIp();
                    $record['extra']['path'] = \Request::path();
    
                    return $record;
                });
            }
        }
    }