【发布时间】:2019-04-25 03:49:24
【问题描述】:
我想记录从 rsyslogd 可执行文件(守护进程)到文件的所有内容。
# /etc/rsyslog.conf
if $syslogtag isequal 'rsyslogd' then /tmp/foo.log
if $syslogtag isequal 'rsyslogd:' then /tmp/foo.log
if $syslogtag isequal ' rsyslogd' then /tmp/foo.log
if $syslogtag isequal ' rsyslogd:' then /tmp/foo.log
在单独的外壳中:
sv down /root/service/rsyslog/
sv up /root/service/rsyslog/
tail -F /tmp/foo.log
结果:bupkus
所以我编辑rsyslog.conf:
# /etc/rsyslog.conf
if $syslogtag contains 'rsyslogd' then /tmp/foo.log
冲洗并重复;在单独的外壳中:
sv down /root/service/rsyslog/
sv up /root/service/rsyslog/
tail -F /tmp/foo.log
多田:20190424_195027 linuxbox info rsyslogd: [origin software="rsyslogd" swVersion="8.28.0" x-pid="27384" x-info="http://www.rsyslog.com"] start
什么给了?我不明白为什么尝试使用isequals 失败。
%syslogtag% 看起来类似于“rsyslogd”的一些变体,要么带有空格,要么在某处附加了一个冒号——但我想我已经完成了所有合理的排列,那么为什么是 @987654330 @比较失败?
【问题讨论】: