这是我的rsyslog过滤器:
if $syslogtag == 'mytag:' then {
*.!warning stop
}
我认为这应该丢弃优先级为warning
或更小的带有“ mytag”标签的所有消息。因此,我尝试了debug
,warning
和error
日志,但是所有三个消息都出现在/var/log/messages
上。我已经在其他地方成功使用了类似的标签过滤器,*.* stop
似乎将所有优先级的消息都丢弃了,那又怎么办?
答案 0 :(得分:1)
我认为我偶然发现了答案;过滤器必须是这样:
if $syslogtag == 'mytag:' then {
*.debug;*.!warning stop
}
这表示“优先调试或更高优先级”和“优先警告或更低优先级”已应用操作“停止”。似乎很奇怪,我必须有效地“全选然后筛选”;我本来希望负过滤器的起点是“一切”,但显然不是!
syslog.conf(sic)的手册页包含一个示例;寻找包含
的示例kern.info;kern.!err /var/adm/kernel-info