2010-02-19 112 views
6

我有一個Java Web應用程序,目前使用Log4J進行記錄。我想用Apache Chainsaw遠程查看和解析日誌。到目前爲止,我無法理解如何設置客戶端(Chainsaw客戶端)和服務器端(我的webapp中的log4j配置)來成功啓用遠程日誌記錄。如何使用Log4J和Apache Chainsaw遠程查看日誌事件?

這是我到目前爲止嘗試過的。

服務器端的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並將事件推送到它?

指導,簡單教程的鏈接或替代工具都將受到歡迎。

回答

2

我想你需要你的SOCKET附加目的地添加到每個記錄:

<logger name="com" additivity="false"> 
     <level value="warn"/> 
     <appender-ref ref="myRFA"/> 
     <appender-ref ref="SOCKET"/> 
    </logger> 

    <logger name="org" additivity="false"> 
     <level value="warn"/> 
     <appender-ref ref="myRFA"/> 
     <appender-ref ref="SOCKET"/> 
    </logger> 
+0

該訣竅。謝謝! – braveterry 2010-02-19 20:01:54

相關問題