【发布时间】:2016-01-12 15:53:51
【问题描述】:
一个 linux 程序正在向 syslog 发送日志。
要自动测试这个程序,我需要检查在某些操作完成后是否有消息发送到 syslog。
很遗憾,系统日志文件的位置因系统日志配置而异(/var/log/messages 在一台计算机上,/var/log/syslog 在另一台计算机上,可能还有其他路径)。
如何以编程方式知道 syslog 文件的当前路径?
如果我知道日志路径,如何检测日志消息?我可以 grep 日志文件并检查 grep 命令的返回值,但是:
- 如何处理可能同时发生的日志轮换?
- 如何处理测试可能需要重复并再次工作的事实(在测试前删除日志文件?)
这个测试也应该适用于系统日志的busybox版本。
【问题讨论】:
标签: linux automated-tests syslog rsyslog