我想将foobar
日志级别的程序中的日志消息保存err
到/var/log/foobar.log
rsyslogd 中的文件中。我怎样才能做到这一点?
这是我可以按程序名称过滤消息的方法:
:programname,contains,"foobar" /var/log/foobar.log
Run Code Online (Sandbox Code Playgroud)
这是我如何按日志级别过滤消息:
*.err /var/log/foobar.log
Run Code Online (Sandbox Code Playgroud)
但我不明白如何同时通过这两个过滤器进行过滤。
rsyslogd wiki 上的这个例子提出了一种方法来做你想做的事情。它是使用基于表达式的语法部分按程序名称过滤。
使用维基上提供的示例:
if $programname == 'foobar' and $syslogseverity-text == 'error' then /var/log/foobar.log
Run Code Online (Sandbox Code Playgroud)
将其放在 rsyslogd.conf 或作为 rsyslog.d 中的片段
归档时间: |
|
查看次数: |
20859 次 |
最近记录: |