2012-01-02 9 views
6

Estoy intentando conseguir log4net que entrar a través de UDP motosierra, pero no su trabajo en Windows 7. Mis archivos de configuración son las siguientes:Por qué mi costumbre entradas de registro log4net se muestran en la motosierra en 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> 

mi fichero de configuración motosierra se parece a esto:

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

Todo esto es por la documentación encontrada en: http://logging.apache.org/log4net/release/howto/chainsaw.html

Sin embargo, ninguno de los registros aparece.

Respuesta

5

Lo descubrí. Parece que log4net tiene problemas con IPv6 y Windows 7. Para solucionar estos problemas que hay que añadir una entrada en el archivo de host que se parece a esto:

127.0.0.2  localhosttwo 

entonces su UpdAppender hay que hacer referencia a que la entrada DNS como así:

<remoteAddress value="localhosttwo" /> 

127.0.0.2 es la dirección IPv6 de la localmachine y que necesita una entrada explcit DNS o log4net más va a lanzar un error si se trata de usar la dirección numérica en el archivo de configuración.

Asegúrese de enjuagar su DNS después de cambiar el archivo host

+1

Thx para documentar la solución. +1. Para el registro, en el servidor de Windows 2012, noté que UdpAppender necesitaría RemoteAddress para establecerse en "localhost" (que se traduciría en ":: 1") en lugar de 127.0.0.1 (que no se analizará como un " Dirección IP"). Una forma directa de obtener los mensajes internos de log4net es agregar una clave en appSettings: (). –

Cuestiones relacionadas