单元测试忽略日志级别

时间:2015-04-01 13:44:00

标签: unit-testing laravel phpunit

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

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

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

任何人都知道为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

在Monolog的某些版本中(我现在没有在主分支上看到这个版本),当没有设置处理程序时,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