控制台上写入的系统日志

控制台上写入的系统日志

我在使用 syslog local7 时遇到了一个奇怪的问题,我的 syslog 配置了要写入的 syslog

local7.info /var/log/syslog_info

多年来它一直运行良好,但最近几天,一个设备的系统日志消息写入控制台,我不知道为什么这个设备的系统日志在控制台上,但其他数百个设备的系统日志仍然写入文件。我的问题是如何阻止这种情况?我需要来自该设备的系统日志,所以我不想停止它,但同时我也不想将其写入我的控制台。我的操作系统是 64 位 Solaris。谢谢,

这是我的 syslog.conf

  #
  *.err;kern.notice;auth.notice         /dev/sysmsg
  *.err;kern.debug;daemon.notice;mail.crit  /var/adm/messages

  *.alert;kern.err;daemon.err           operator
  *.alert                       root

  *.emerg                       *

  # if a non-loghost machine chooses to have authentication messages
  # sent to the loghost machine, un-comment out the following line:
  #auth.notice          ifdef(`LOGHOST', /var/log/authlog, @loghost)

  mail.debug            ifdef(`LOGHOST', /var/log/syslog, @loghost)

 #
 # non-loghost machines will use the following lines to cause "user"
 # log messages to be logged locally.
  #
 ifdef(`LOGHOST', ,
 user.err                   /dev/sysmsg
 user.err                   /var/adm/messages
 user.alert                 `root, operator'
 user.emerg                 *
 )
 local7.info        /var/log/syslog_info

答案1

由于此行,您的syslog配置将会把级别及以上级别的任何内容记录到系统控制台:err

 *.err;kern.notice;auth.notice         /dev/sysmsg

这会将高于err及以上的所有内容、kern高于及以上的消息notice以及auth高于及以上的消息记录notice到系统控制台。如果您的设备正在记录这些级别的消息,这将解释控制台消息。

您可以local7使用none限定符来抑制来自该设施的消息,如下所示:

*.err;kern.notice;auth.notice;local7.none         /dev/sysmsg

尝试一下,看看控制台消息是否停止出现。

相关内容