【问题标题】:log4j SyslogAppender does not send logs to sysloglog4j SyslogAppender 不会将日志发送到 syslog
【发布时间】:2009-10-07 22:54:05
【问题描述】:

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

【问题讨论】:

    标签: log4j syslog


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的快速转身。真的很有帮助。
    • 什么是LOG_FROM_REMOTE?它在哪里设置?
    【解决方案2】:

    感谢 jcasso 的帮助。它有助于解决问题。为了帮助可能遇到同样问题的其他人,请检查 /etc/default/syslog.conf 中的 LOG_FROM_REMOTE 属性是否设置为 YES。否则 log4j 日志将不会到达 syslog。 syslog 守护进程在端口 514(默认端口)上侦听 UDP 数据包。因此,在打开调试的情况下运行 log4j 将无济于事,无论数据包是否到达 syslog,log4j 都无济于事。希望对你有帮助

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2015-10-02
        • 1970-01-01
        • 2019-03-29
        • 2017-12-27
        • 1970-01-01
        • 1970-01-01
        • 2014-08-08
        • 2015-02-15
        • 1970-01-01
        相关资源
        最近更新 更多