我有这样的规则:
if $hostname startswith 'd.42ba7373' and $programname == 'app' then /var/log/applog
并且不想将进入该日志的消息也输出到 /var/log/syslog 。那可能吗?
答案1
丢弃 ( ~
) 操作可能会有所帮助。http://www.rsyslog.com/doc/rsyslog_conf_actions.html
if $hostname startswith 'd.42ba7373' and $programname == 'app' then /var/log/applog
if $hostname startswith 'd.42ba7373' and $programname == 'app' then ~
答案2
类似的问题是这里。如果在主 rsyslog conf 文件中完成删除操作,上述答案将完美工作,在 ubuntu 14.04 和 rsyslog 7.4.4 的情况下是/etc/rsyslog.conf
。如果有人完全使用单独的conf文件,则应将其命名为按50-default.conf
字典顺序位于文件名之前,因为50-default.conf文件包含用于将日志放入.conf文件的配置/var/log/syslog
。