2012-01-02 27 views
6

Tôi đang cố gắng để có được log4net đăng nhập qua udp để cưa máy nhưng nó không làm việc trên cửa sổ là 7. tập tin cấu hình của tôi như sau:Tại sao wont mục log4net đăng nhập của tôi hiển thị trong Cưa máy trên 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> 

tập tin cấu hình cưa máy của tôi trông như thế này:

<?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> 

Tất cả điều này là theo các tài liệu tìm thấy trong: http://logging.apache.org/log4net/release/howto/chainsaw.html

Tuy nhiên, không có nhật ký nào hiển thị.

Trả lời

5

Đã tìm ra. Hình như log4net có vấn đề với ipv6 và cửa sổ 7. Để khắc phục những vấn đề này bạn cần phải thêm một mục vào file host của bạn trông như thế này:

127.0.0.2  localhosttwo 

sau đó UpdAppender của bạn cần phải tham khảo rằng mục DNS như vậy:

<remoteAddress value="localhosttwo" /> 

127.0.0.2 là địa chỉ ipv6 cho localmachine của bạn và bạn cần một mục explcit dns hoặc log4net khác sẽ ném ra một lỗi nếu bạn cố gắng và sử dụng địa chỉ số trong file config.

Đảm bảo xóa các dns của bạn sau khi bạn thay đổi hostfile

+1

Thx để ghi lại bản sửa lỗi. +1. Đối với hồ sơ, trên máy chủ Windows 2012, tôi nhận thấy rằng UdpAppender sẽ cần RemoteAddress được đặt thành "localhost" (mà nó sẽ dịch thành ":: 1") thay vì 127.0.0.1 (mà nó sẽ không phân tích cú pháp như là một " Địa chỉ IP"). Một cách trực tiếp để nhận được thông điệp nội bộ của log4net là thêm một khóa trong appSettings: (). –

Các vấn đề liên quan