2012-04-24 9 views
8

Estoy intentando usar log4net. Cuando enciendo la aplicación, crea el archivo de registro, pero no importa cuántas veces llame al Log.Info("Application Started");, permanece vacío. Investigué las dos primeras páginas que Google devuelve y mi código parece coincidir con todos los ejemplos.log4net log que se está creando pero permanece vacío

Código:

[assembly: XmlConfigurator(Watch = true)] 

namespace Generator 
{ 
    public class Run 
    { 

     private static readonly log4net.ILog Log = 
     log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 

     public List<BILL_RUN> PerformBillRun() 
     { 
      XmlConfigurator.Configure(); 

      Log.Info("Application Started"); 
      var enabled = Log.IsInfoEnabled; //This is true 
     } 

    } 

} 

app.config

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 

    <log4net> 
    <appender name="FileAppender" type="log4net.Appender.FileAppender"> 
     <file value="log-files.txt" /> 
     <appendToFile value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
     </layout> 
    </appender> 

    <root> 
     <level value="All" /> 
     <appender-ref ref="FileAppender" /> 
    </root> 
    </log4net> 

Cualquier punteros en cuanto a lo que puede estar mal?

Respuesta

6

Esto siempre me pasa a mí ... tan pronto como publique la pregunta.

Resulta que mis etiquetas <configSections></configSections> no eran directamente un hijo de <configuration> lo que significa que la configuración no se recogió (supongo), y porque log4net se traga todas las excepciones esto solo se manifestó más en mi aplicación.

El registro funciona bien ahora.

+2

También es útil agregar '' a la etiqueta de apertura de su configuración para ver mucha más información, suponiendo que tiene una consola para ver el resultado) – Ryan

Cuestiones relacionadas