我在syslog中添加了local0上的一些自定义日志logging。
将这些消息写入特定的日志很容易,在我的syslog.conf中
local0.* -/var/log/my.log
但是,我怎样才能从所有其他日志排除local0? 在我当前的设置中,local0消息也显示在/ var / log / syslog中,因为它被指定为
*.*;auth,authpriv.none -/var/log/syslog
我是否需要通过所有其他默认日志并添加local0.none,还是有某种全局排除我可以使用?
在系统日志中,我担心你的假设是正确的,你必须添加local0.none
到不需要local0的syslog行。
如果你正在寻找其他的selectrsyslog现在都在(所有的酷小孩都喜欢它),并会实际上让你做你所要求的( 在这里检查)。
此外, syslog-ng允许你做你想要的东西,甚至有一些非常酷的string过滤( 在这里检查),我使用它在我的日志收集器服务器上进行高级syslogging。
syslogd手册页指出,感叹号用作排除指定优先级的符号,并且“您可以直观地使用它作为exception说明符”。 给出的例子是
mail.*;mail.!=info /usr/adm/mail
它将logging除“info”优先级以外的所有邮件。 所以,为了你的问题,我会使用
*.*;local0.!debug;auth,authpriv.none /var/log/syslog
或者更可读,
*.*;local0.none;auth,authpriv.none /var/log/syslog
但是,你应该知道我无法testing这个。