我正在尝试将我的 webapp 日志记录到 local4 级别的 syslog 中。环境:Tomcat6、OpenSolaris、Struts2、log4j。我的 log4j.properties 的内容如下 -
log4j.rootLogger=INFO, SYSLOG
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.syslogHost=localhost
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern=%d [%t] %-5p - %m%n
log4j.appender.SYSLOG.Facility=local4
我已经编辑了 /etc/syslog.conf 并在最后添加了以下几行 -
local4.notice /var/log/mylog.log
在此之后,我重新启动了 syslog 服务。当我从 shell 运行以下命令时,它会正确记录在 /var/log/mylog.log 中。这主要意味着 syslog 服务工作正常——
logger -i -p local4.notice -t "check log" "test message"
但我非常无法理解为什么来自 webapp 的日志永远不会到达 /var/log/mylog.log。我的 log4j 配置对于 SysLogAppender 是否正确?
当我尝试像“DailyRollingFileAppender”等普通附加程序时,日志记录工作正常..但我无法让 SyslogAppender 工作..
谢谢!-凯沙夫