我正在用这样一个打开日志的方法来测试一个记录器类:
openlog($this->identifier, $this->option, $this->facility);
syslog($level, $message)
closelog();我的记录器写入的$facility当前设置为LOCAL0。
当我对我的记录器进行单元测试时,我会得到以下消息:
Broadcast message from systemd-journald@myWS:
phpserver7.0[9125]: Logger message 如何使用PHPUnit或在我的代码中抑制此消息?
编辑:
这似乎只发生在我记录一条严重程度为“紧急”的消息时,即严重级别为0。
维基百科说:
应用程序不应使用此级别。
尽管如此,它仍然是PSR-3记录器摘要的一部分,所以我希望能够用PHPUnit来抑制消息。
发布于 2016-12-15 12:24:45
在测试方法中,可以通过在生成输出的调用周围包装一个输出缓冲区来抑制输出。示例:
/**
* @preserveGlobalState disabled
* @runInSeparateProcess
*/
public function testOutputCanSend()
{
ob_start();
// Do some stuff here that outputs directly, e.g
openlog($this->identifier, $this->option, $this->facility);
syslog($level, $message)
closelog();
ob_end_clean();
}https://stackoverflow.com/questions/41163822
复制相似问题