Kyl*_*ndt 6 logging syslog rsyslog
我找到了一些示例,说明如何使用 rsyslog 根据日志条目的内容进行过滤。但是有没有办法做到这一点,所以它只过滤某个设施的内容?例如类似的东西:
if local0.* msg contains "foo"
Run Code Online (Sandbox Code Playgroud)
但是使用真正的语法而不是我刚刚编造的。
您需要执行两个连续的过滤器,而不是在一行上执行两个过滤器。
:msg, contains, "some-text"
if $syslogfacility-text == "facility" then /var/log/somelog.log
~
编辑:
我收回之前说过的话。我现在已经看到这两种方式都是这样做的。我刚刚在 rsyslog Wiki 中找到了这个示例,应该可以进行改编。
if $programname == 'popa3d' and $syslogseverity <= '6' then /var/log/popa3d.log
您当然会将您的条件替换为示例。
if $syslogfacility-text == 'local0' and $msg contains 'some-text' then /var/log/somelog.log
& ~
| 归档时间: |
|
| 查看次数: |
20122 次 |
| 最近记录: |