代码之家  ›  专栏  ›  技术社区  ›  Keshav

Tomcat6 webapp使用log4j进行日志记录,无法登录到syslog

  •  3
  • Keshav  · 技术社区  · 17 年前

    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。对于SysLogAppender,我的log4j配置正确吗?

    当我尝试像“DailRollingFileAppender”这样的普通appender时,日志记录工作正常。但我就是无法让SyslogAppender工作。。

    谢谢 -克沙夫

    2 回复  |  直到 17 年前
        1
  •  7
  •   gabe    16 年前

    在Ubuntu10.04上也有类似的问题,为了接收SyslogAppender消息,我不得不取消/etc/rsyslog.conf中的两行注释。

    # provides UDP syslog reception
    $ModLoad imudp
    $UDPServerRun 514
    
        2
  •  2
  •   Ceki    17 年前

    通常,附加到syslog失败,因为syslog守护进程未设置为接受来自网络的数据包。您的“logger-i-p”没有说明是否允许数据包。。。

    推荐文章