单元测试忽略日志级别

Unit test ignore log level

我在 config/app.phpemergency 中定义了日志级别。

'log' => 'syslog',
'log_level' => env('LOG_LEVEL','warning'),

在我的整个应用程序中,我在几个地方有 Log::info('info')。这意味着信息应该被忽略,因为日志级别设置为紧急。这在我实际 运行 应用程序时效果很好,问题是当我 运行 使用 phpunit 进行单元测试时。忽略日志级别记录所有内容。

有人知道为什么会发生这种情况吗?

在某些版本的 Monolog 中(我现在没有在 master 分支上看到这个),当没有设置处理程序时,Monology 输出到 stderr:

https://github.com/Seldaek/monolog/blob/1.22.0/src/Monolog/Logger.php#L288-L290

将处理程序推送到 Monolog 上,如 NULL 处理程序,将抑制日志记录:

https://github.com/Seldaek/monolog/blob/master/src/Monolog/Handler/NullHandler.php