6

現在ログにLog4Jを使用している Java Web アプリケーションがあります。Apache Chainsawを使用して、ログをリモートで表示および解析したいと考えています。これまでのところ、クライアント側 (Chainsaw クライアント) とサーバー側 (webapp の 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 に接続してイベントをプッシュしていますか?

ガイダンス、簡単なチュートリアルへのリンク、または代替ツールはすべて歓迎されます。

4

1 に答える 1

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>
于 2010-02-19T19:50:59.607 に答える