我有一个应用程序logging到系统日志设施local1。 我想configurationsyslog,把所有的local1消息发送到一个独立于/ var / log / messages的日志文件 – 这很容易。 但消息也将去/ var / log / messages。 有什么办法告诉系统日志发送* .info到/ var / log / messages但排除local1.info? (类似于* ^ loacl1.info?)
syslog.conf的:
#kern.* /dev/console *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure local0.notice;local0.debug;mail.*;mail.none;mail.info;local0.info /var/log/maillog cron.* /var/log/cron *.emerg * uucp,news.crit /var/log/spooler local7.* /var/log/boot.log #My Custom App Logging local1.* /var/log/application.log
尝试更换
*.info;mail.none;authpriv.none;cron.none /var/log/messages
通过
*.info;mail.none;authpriv.none;cron.none;local1.!=info /var/log/messages
这将logging消息匹配:任何设施与级别的信息和设施不邮件和设施不authpriv 和设施local1当级别是信息时可以 。
你应该使用
#My Custom App Logging local1.* /var/log/application.log & ~
为系统日志或
#My Custom App Logging local1.* /var/log/application.log & stop
对于rsyslog 7+来防止日志消息被进一步处理。 确保这是在 *.* / *.*到/ var / log / syslog的默认规则之前 。