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