我在 syslog 中的 local0 上添加了一些自定义日志记录。
将这些消息写入特定日志很容易,在我的 syslog.conf 中我有
local0.* -/var/log/my.log
但是如何从所有其他日志中排除 local0 呢?在我当前的设置中,local0 消息也显示在 /var/log/syslog 中,因为它被指定为
*.*;auth,authpriv.none -/var/log/syslog
我是否需要查看所有其他默认日志并添加 local0.none,或者是否可以使用某种全局排除?
syslogd 联机帮助页指出感叹号用作排除指定优先级的符号,并且“您可以直观地将其用作异常说明符”。给出的例子是
mail.*;mail.!=info /usr/adm/mail
Run Code Online (Sandbox Code Playgroud)
它将记录除具有“信息”优先级的邮件消息之外的所有邮件消息。所以,对于你的问题,我会用
*.*;local0.!debug;auth,authpriv.none /var/log/syslog
Run Code Online (Sandbox Code Playgroud)
或者,更具可读性,
*.*;local0.none;auth,authpriv.none /var/log/syslog
Run Code Online (Sandbox Code Playgroud)
但是,您应该知道我无法对此进行测试。