我有一台ec2 linux服务器,正在使用rsyslog跟踪我的应用程序服务器的日志,以便我可以将这些日志推送到日志中。
问题是,rsyslog也将这些日志记录在/var/log/messages中,这是我不想要的。有什么方法可以避免这种情况吗?我是否可以过滤掉/etc/rsyslog.conf中的某些消息,以便这些消息不会被推送到var/log/messages中?
*更新*
我尝试在rsyslog.conf中添加以下行:
if $programname == 'programName' then {
*.err /var/log/messages
} else {
*.info;mail.none;authpriv.none;cron.none /var/log/messages
}但是,在重新启动rsyslog时,我看到以下错误:
Dec 11 08:01:46 <hostname> rsyslogd: the last error occured in /etc/rsyslog.conf, line 37:"if $programname == 'programName' then {"
Dec 11 08:01:46 <hostname> rsyslogd: warning: selector line without actions will be discarded
Dec 11 08:01:46 <hostname> rsyslogd-3000: unknown priority name "" [try http://www.rsyslog.com/e/3000 ]
Dec 11 08:01:46 <hostname> rsyslogd: the last error occured in /etc/rsyslog.conf, line 39:"} else {"
Dec 11 08:01:46 <hostname> rsyslogd: warning: selector line without actions will be discarded
Dec 11 08:01:46 <hostname> rsyslogd-3000: unknown priority name "" [try http://www.rsyslog.com/e/3000 ]
Dec 11 08:01:46 <hostname> rsyslogd: the last error occured in /etc/rsyslog.conf, line 41:"}"
Dec 11 08:01:46 <hostname> rsyslogd: warning: selector line without actions will be discarded我想我的rsyslog版本(5.8.10)不支持if / else。有没有其他方法可以做到这一点?
谢谢。
发布于 2015-06-03 21:59:29
首先将消息发送到所需的文件。然后使用stop阻止进一步的操作。
if $programname == 'apache2' then {
action(type="omfile" file="/var/log/apache2/rewrite.log" name="action-omfile-apache2-rewrite")
stop
}https://stackoverflow.com/questions/27417002
复制相似问题