0

他のデバイスのソケットハンドラーの束から来るものを食べて、次のようなログファイルに書き込むログサーバーを書きました:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
  <date>2016-05-15T06:40:03</date>
  ...
</record>
...

私はチェーンソーが初めてです。

チェーンソーは、次を使用してこれらのファイルを開くことができます。 java util ファイルをロードします。

ポート 4445 の単純なレシーバーを追加すると、バインド例外が発生します。

ポート 4560 に単純な受信機を追加すると、接続が失われます。

私は設定ファイルを持っておらず、それを書く方法がわかりません。

単純な受信機を動作させることができれば、チェーンソーでログ ファイルをロールオーバーし、ログ ファイルを送信元のデバイスごとに分離できますか?

ありがとう

編集 1: reveiver が使用する可能性があるように見えます: org.apache.log4j.xml.XMLDecoder、これは正しいものではない可能性があります。この投稿は示唆しています: org.apache.log4j.xml.UtilLoggingXMLDecoder. 手動でこれを試してもうまくいかないようです。

編集 2: log4j メーリング リストの scott deboy のおかげで、この構成ファイルは機能しました。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<plugin name="XMLSocketReceiver" class="org.apache.log4j.net.XMLSocketReceiver">
      <param name="decoder" value="org.apache.log4j.xml.UtilLoggingXMLDecoder"/>
      <param name="Port" value="2222"/>
   </plugin>
<root>
  <priority value="debug"/>
</root>
</log4j:configuration>

編集 3: ロールオーバーを追加しました:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<plugin name="XMLSocketReceiver" class="org.apache.log4j.net.XMLSocketReceiver">
      <param name="decoder" value="org.apache.log4j.xml.UtilLoggingXMLDecoder"/>
      <param name="Port" value="2222"/>
   </plugin>
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
      <param name="Threshold" value="INFO" />
      <param name="File" value="sample.log"/>
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d %-5p  [%c{1}] %m %n" />
      </layout>
   </appender>
<root>
  <priority value="debug"/>
  <appender-ref ref="fileAppender" /> 
</root>
</log4j:configuration>

これは機能しているように見えますが、すべてのチェーンソーのログ (および私のもの) がログ ファイルにあります。

4

1 に答える 1

0

Chainsaw は、log4j xml 形式に一致するログ ファイル、または VFSLogFilePatternReceiver を介して一貫したログ形式を持つ通常のテキスト ログ ファイルを解析できますが、独自の xml 形式は解析できません。

于 2016-05-16T16:48:29.667 に答える