Kes*_*hav 3 java log4j struts2 syslog opensolaris
我正在尝试将我的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
Run Code Online (Sandbox Code Playgroud)
我编辑了/etc/syslog.conf并在最后添加了以下行 -
local4.notice /var/log/mylog.log
Run Code Online (Sandbox Code Playgroud)
在此之后,我重新启动了syslog服务.当我从shell运行以下命令时,它会正确记录在/var/log/mylog.log中.这主要意味着系统日志服务正常运行 -
logger -i -p local4.notice -t "check log" "test message"
Run Code Online (Sandbox Code Playgroud)
但我完全不明白为什么来自webapp的日志永远不会到达/var/log/mylog.log.我的log4j配置对SysLogAppender是否正确?
当我尝试普通的appender,如"DailyRollingFileAppender"等,日志工作正常..但我只是无法让SyslogAppender工作..
谢谢!-Keshav
在Ubuntu 10.04上类似的问题,我不得不在/etc/rsyslog.conf中取消注释两行以接收SyslogAppender消息.
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3284 次 |
| 最近记录: |