2012-01-02 7 views
6

を表示私はチェーンソーするUDP経由でログインするlog4netのを取得しようとしているが、次のように私の設定ファイルがある7.そのWindows上で動作していない:なぜ文句を言わない私log4netのログエントリは、Windows 7上でチェーンソーで

<log4net debug="true"> 
<appender name="trace" type="log4net.Appender.TraceAppender, log4net"> 
    <layout type="log4net.Layout.PatternLayout,log4net"> 
    <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> 
    </layout> 
</appender> 
<appender name="UdpAppender" type="log4net.Appender.UdpAppender"> 
    <remoteAddress value="127.0.0.1" /> 
    <remotePort value="8085" /> 
    <layout type="log4net.Layout.XmlLayoutSchemaLog4j"> 
     <locationInfo value="true" /> 
    </layout> 
</appender> 
<root> 
    <level value="TRACE" /> 
    <appender-ref ref="trace" /> 
    <appender-ref ref="UdpAppender" /> 
</root> 

私のチェーンソーの設定ファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">  
    <plugin name="UDPReceiver" class="org.apache.log4j.net.UDPReceiver"> 
     <param name="Port" value="8085" /> 
    </plugin>  
</log4j:configuration> 

このすべてがで見つかったドキュメントごとです:http://logging.apache.org/log4net/release/howto/chainsaw.html

ただし、ログは表示されません。

答えて

5

log4netのように見えますが、このようになりますあなたのホストファイルにエントリを追加する必要があり、これらの問題を回避するには、ipv6およびWindows 7の問題があります。

127.0.0.2  localhosttwo 

、あなたのUpdAppenderがそうように、そのDNSエントリを参照する必要があります。

<remoteAddress value="localhosttwo" /> 

127.0.0.2はあなたLOCALMACHINEのIPv6アドレスであり、あなたがしようとすると、configファイルに数値アドレスを使用する場合は、エラーがスローされますexplcitのDNSエントリまたは他のlog4netのを必要としています。

ホストファイル

+1

Thxを修正した後、DNSファイルを必ずフラッシュしてください。 +1。記録のために、Windowsサーバー2012で、私はUdpAppenderがRemoteAddressを "localhost"( ":: 1"に変換する)に設定する必要があることに気付きました。これは127.0.0.1ではなく " IPアドレス")。 log4netの内部メッセージを取得する直接的な方法は、appSettingsにキーを追加することです()。 –

関連する問題