【发布时间】:2016-06-16 18:58:34
【问题描述】:
我正在用 C++ 编写一个命令行工具,它 - 取决于 --logfile 参数 - 记录到 syslog 或给定文件。我想测试这个功能(使用googletest)。
为了测试文件部分,我运行带有和不带有 --logfile 参数的 MyApp::main() 函数并测试日志消息是否出现在文件中。
有没有办法对syslog 进行相同的测试?我可以阅读/var/log/syslog 并希望获得最好的结果,但这不是很便携,因为许多系统将syslog 保留在其他地方。
我正在使用不提供模拟的logging library,所以这不是一个选项。他们在内部使用对 syslog 守护进程 (man(3) syslog) 的调用。有没有一种可移植的方式从这个守护进程获取syslog?还是来自其他地方?
【问题讨论】:
标签: c++ linux testing googletest syslog