4

log4netのUdpAppenderとApacheChainsawを使用して、ASP.NETWebアプリケーションからのメッセージをログに記録したいと思います。log4netのWebサイトの指示に従いましたが、Udpパケットが送信されません(ファイアウォールがオフになっていて、TcpViewでマシンを監視しようとしました-udpパケットはまったく生成されませんでした。他のアペンダーが機能しています)。Log4netデバッグではエラーは発生せず、UdpAppenderがロガーに追加されます。何が欠けているのかわかりません。

私の設定ファイルは次のとおりです。

<log4net debug="true">
  <renderer renderingClass="Logging.HttpContextRenderer" renderedClass="System.Web.HttpContext" />
  <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
    <localPort value="8080" />
    <remoteAddress value="127.0.0.1" />
    <remotePort value="8080" />
    <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
      <locationInfo value="true" />
    </layout>
  </appender>
 <root>
    <priority value="ALL"/>
    <appender-ref ref="UdpAppender"/>
  </root>
</log4net>
4

2 に答える 2

1

log4net udpアペンダーを使用した同様の問題を抱えている人のアーカイブは次のとおりです:http: //www.mail-archive.com/log4net-user@logging.apache.org/msg03906.html

簡単な場合は、通常のテキストファイルでChainsaw V2を使用できます(VFSLogFilePatternReceiverを使用)。

チェーンソーの新しいバージョンがまもなくリリースされ、多くの機能が強化されます。プレリリースバージョンとスクリーンショットはこちらから入手できます。

http://people.apache.org/~sdeboy/

于 2010-09-04T17:30:07.137 に答える
1

私も同じ問題を抱えていて、

<localPort value="8080" />

それを解決しました。

log4net UdpAppenderページの例を使用してアペンダーをテストしました:http://logging.apache.org/log4net/release/sdk/log4net.Appender.UdpAppender.html

しかし、私は行を変更する必要がありました

IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);

IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 8080);

これを使用すると、log4netを使用して受信したメッセージをローリングログファイルに簡単に書き換えることができ、Chainsawはそれを読み取ることができると思います。

これも機能する可能性があります:http://devintelligence.com/log4netviewer/

これが機能しない場合は、log4netをデバッグするか、この記事に記載されている内部ロガーメカニズムを使用できます 。Log4NetはDevマシンで動作し、共有ホストにデプロイすると失敗し(同じdb / connstringを使用)、さらに問題をトラブルシューティングします。

于 2010-09-14T20:38:03.633 に答える