我设置了一个配置,其中消息被分类并写入相应的文件(目的地)。我想知道 -是否可以将特定过滤器未捕获的文件消息记录到文件中?
例如,有dhcpd
, dhclient
, acpid
,sshd
消息的过滤器。我想要的是获取不属于上述所有 4 个类别的消息。
我看到tags
可以作为内部的每消息结构使用。我试图为每个类别设置一个标记并像这样抓取未标记:
rewrite r_set_routed { set-tag('routed'); };
filter f_untagged { not tags('routed'); };
filter f_dhcpd_program { program('dhcpd'); };
<...>
log { source(s_local); rewrite(r_set_routed); filter(f_dhcpd_program); destination(d_dhcpd_file); };
<...>
log { source(s_local); filter(f_untagged); destination(d_unfiltered_file); };
但这不起作用(看起来r_set_routed
重写一个log {}
不会影响另一个log {}
)。我知道可以否定所有过滤器以产生不匹配的所有过滤器,但这是我想避免的容易出错和肮脏的方式。