Laravel自定义日志格式化程序

时间:2018-08-31 13:59:00

标签: laravel logging laravel-5

我想自定义错误日志通道的日志行格式。 是否可以在配置文件(config / logging.php)中定义它,或者我必须像doc所说的那样为它创建一个类?但这没有任何提示。

有人可以给我看看例子吗?

非常感谢!

2 个答案:

答案 0 :(得分:4)

最简单的方法是将您自己的格式传递给LineFormatter类:

[
    'driver' => 'monolog',
    'formatter' => Monolog\Formatter\LineFormatter::class,
    'formatter_with' => [
        'format' => "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n",
    ],
]

您可以查看LineFormatter来查看$ format在构造函数中是否被接受。

您可以创建自己的实现FormatterInterface的类,并在Monolog / Formatter目录中以其他20个格式化程序为例。

答案 1 :(得分:-2)

Laravel使用Monolog进行日志记录。编写自定义格式器并将其附加到Laravel日志配置中的Monolog非常容易。不幸的是,您不能仅在配置文件中自定义日志格式。查看带有简单示例的手册:

https://laravel.com/docs/5.6/logging