Mat*_*egg 6 log4net log4j windows-7 apache-chainsaw
我试图让log4net通过udp登录到电锯,但它不能在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>
Run Code Online (Sandbox Code Playgroud)
我的电锯配置文件如下所示:
<?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>
Run Code Online (Sandbox Code Playgroud)
所有这些都是根据以下文档找到的:http://logging.apache.org/log4net/release/howto/chainsaw.html
然而,没有任何日志出现.
弄清楚了.看起来log4net存在ipv6和windows 7的问题.要解决这些问题,您需要在主机文件中添加如下所示的条目:
127.0.0.2 localhosttwo
Run Code Online (Sandbox Code Playgroud)
那么您的UpdAppender需要引用该DNS条目,如下所示:
<remoteAddress value="localhosttwo" />
Run Code Online (Sandbox Code Playgroud)
127.0.0.2是本地机器的ipv6地址,你需要一个explcit dns条目,否则如果尝试使用配置文件中的数字地址,log4net将抛出错误.
确保在更改主机文件后刷新dns
| 归档时间: |
|
| 查看次数: |
811 次 |
| 最近记录: |