log4j socketappender 在使用共享资源日志记录时不生成消息



我正在尝试从一个对我来说有点黑匣子的应用程序流式传输一些日志记录消息。它与commons-logging-1.0.4打包在一起.jar并在它下面使用log4j。我正在尝试流式传输其中一个记录器,以便我可以在电锯中查看它。我可以毫无问题地将日志消息定向到文件,但是当我配置套接字追加器时,我从未在电锯日志中看到接受的连接。我可以远程登录到运行链锯的主机上的端口 4560,然后会看到该连接被接受。我无法弄清楚什么是配置错误,并开始怀疑此功能是否不适用于公共日志记录。下面是 log4j.xml 配置中的配置片段。是否有我不明白的错误配置?

   <appender name="SOCKET" class="org.apache.logging.log4j.core.appender.SocketAppender">
            <param name="RemoteHost" value="ljgaer"/>
            <param name="Port" value="4560"/>
    </appender>
    <appender name="FILE2" class="org.apache.log4j.RollingFileAppender">
            <param name="File" value="/tmp/test.log" />
            <param name="MaxFileSize" value="50MB" />
            <param name="MaxBackupIndex" value="10" />
            <layout class="org.apache.log4j.PatternLayout">
                    <param name="ConversionPattern" value="###########MSG%n%m%n" />
            </layout>
    </appender>
    <!-- Change level to ALL to turn on xml logging.  -->
    <logger name="XMLLogger" additivity="false">
            <level value="ALL" />
            <appender-ref ref="SOCKET" />
            <appender-ref ref="FILE2" />
    </logger>

事实证明套接字追加器的包名称是错误的。

应该是

org.apache.log4j.net.SocketAppender

最新更新