log4j SyslogAppender不会将日志发送到syslog

时间:2009-10-07 22:54:06

标签: log4j syslog

在Websphere中运行的Web应用程序正在使用log4j SysLogAppender将消息记录到位于同一台计算机中的syslog守护程序。 syslog守护程序的默认设置是LOG_FROM_REMOTE = NO。这是否意味着与syslog守护程序位于同一台计算机上的Web应用程序无法接受这些消息?

3 个答案:

答案 0 :(得分:4)

如果LOG_FROM_REMOTE设置为YES,则会侦听指定的UDP端口。如果设置为NO则不会。由于您将值设置为no,因此它不会侦听端口,也无法接收日志消息。

即使logappender和守护程序在同一台计算机上,它们也需要通过UDP端口进行通信。

答案 1 :(得分:1)

感谢jcasso的帮助。它有助于解决问题。只是为了帮助可能遇到同样问题的其他人,请检查/etc/default/syslog.conf中的LOG_FROM_REMOTE属性是否设置为YES。否则log4j日志将无法访问syslog。 syslog dameon侦听端口514(默认端口)上的UDP数据包。因此,在启用调试的情况下运行log4j将无法帮助log4j,无论数据包是否到达syslog。希望它有所帮助

答案 2 :(得分:0)

如果您使用syslog-ng,则需要取消注释(在/ etc / syslog-ng文件中)“udp();”在“source s_all {”部分中的行。