我有一个当前使用Log4J进行日志记录的 Java Web 应用程序。我想使用Apache Chainsaw远程查看和解析日志。到目前为止,我一直无法理解如何设置客户端(Chainsaw 客户端)和服务器端(我的 web 应用程序中的 log4j 配置)以成功启用远程日志记录。
这是我到目前为止所尝试的。
服务器端 log4j 配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true">
<appender name="myRFA" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/logs}/my.log"/>
<param name="Append" value="false" />
<param name="MaxFileSize" value="10MB"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{ISO8601} %p - [%X{LoggingId}] - %t - %c - %m%n"/>
</layout>
</appender>
<appender name="SOCKET" class="org.apache.log4j.net.SocketAppender">
<param name="Port" value="4445"/>
<param name="RemoteHost" value="localhost"/>
<param name="ReconnectionDelay" value="60000"/>
<param name="Threshold" value="DEBUG"/>
</appender>
<logger name="com" additivity="false">
<level value="warn"/>
<appender-ref ref="myRFA"/>
</logger>
<logger name="org" additivity="false">
<level value="warn"/>
<appender-ref ref="myRFA"/>
</logger>
</log4j:configuration>
客户端电锯配置
我创建了一个具有以下属性的新接收器
name=SOCKET
port=4445
我承认我真的不明白这一切应该如何运作。Chainsaw 是否正在轮询远程服务器?远程服务器是否连接到 Chainsaw 并向其推送事件?
欢迎提供指导、简单教程的链接或替代工具。