将本地应用程序添加到从 /var/log/messages 中排除的 syslog

Jos*_*osh 7 syslog

我有一个应用程序,它记录到 syslog 工具 local1。我想将 syslog 配置为将所有 local1 消息发送到与 /var/log/messages 分开的日志文件——结果证明这很容易。但是消息也会发送到 /var/log/messages。有什么方法可以告诉 syslog 将 *.info 发送到 /var/log/messages 但排除 local1.info?(类似于 *^loacl1.info ?)

系统日志.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
Run Code Online (Sandbox Code Playgroud)

rad*_*ius 9

尝试更换

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
Run Code Online (Sandbox Code Playgroud)

经过

*.info;mail.none;authpriv.none;cron.none;local1.!=info                /var/log/messages
Run Code Online (Sandbox Code Playgroud)

这将记录匹配的消息:任何具有级别信息的设施和设施不是邮件和设施不是 authpriv和设施 local1 execpt 当级别是信息时

  • @Stefan,最初的请求是排除 local1.info 而不是所有 local1 消息。所以 local1.!=info 是正确的语法。但实际上 Josh 需要排除所有 local1 消息(从他的评论中),所以在这种情况下 local1.none 是正确的语法 (2认同)