首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPUnit接收syslog消息?

PHPUnit接收syslog消息?
EN

Stack Overflow用户
提问于 2016-12-15 12:08:05
回答 1查看 270关注 0票数 3

我正在用这样一个打开日志的方法来测试一个记录器类:

代码语言:javascript
复制
openlog($this->identifier, $this->option, $this->facility);
syslog($level, $message)
closelog();

我的记录器写入的$facility当前设置为LOCAL0

当我对我的记录器进行单元测试时,我会得到以下消息:

代码语言:javascript
复制
Broadcast message from systemd-journald@myWS:

phpserver7.0[9125]: Logger message  

如何使用PHPUnit或在我的代码中抑制此消息?

编辑:

这似乎只发生在我记录一条严重程度为“紧急”的消息时,即严重级别为0。

level

维基百科说:

应用程序不应使用此级别。

尽管如此,它仍然是PSR-3记录器摘要的一部分,所以我希望能够用PHPUnit来抑制消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-15 12:24:45

在测试方法中,可以通过在生成输出的调用周围包装一个输出缓冲区来抑制输出。示例:

代码语言:javascript
复制
/**
 * @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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41163822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档