我正在 syslog 中的 local0 上添加一些自定义日志。
将这些消息写入特定日志很容易,在我的 syslog.conf 中我有
local0.* -/var/log/my.log
但是我如何才能将 local0 从所有其他日志中排除?在我当前的设置中,local0 消息也会显示在 /var/log/syslog 中,因为它被指定为
*.*;auth,authpriv.none -/var/log/syslog
我是否需要浏览所有其他默认日志并添加 local0.none,或者是否可以使用某种全局排除?
答案1
答案2
syslogd 手册页指出,感叹号用作排除指定优先级的符号,并且“您可以直观地将其用作异常说明符”。给出的示例是
mail.*;mail.!=info /usr/adm/mail
它将记录除“信息”优先级之外的所有邮件。因此,对于您的问题,我会使用
*.*;local0.!debug;auth,authpriv.none /var/log/syslog
或者,更易读的是,
*.*;local0.none;auth,authpriv.none /var/log/syslog
然而,您应该知道我无法测试这一点。