2012-04-24 18 views
8

log4net'u kullanmaya çalışıyorum. Uygulamayı tetiklediğimde, günlük dosyasını oluşturur, ancak Log.Info("Application Started");'u kaç defa çağırsam da boş kalır. İlk iki sayfayı google döndürdüğünü araştırdım ve kodum tüm örneklerle eşleşiyor gibi görünüyor.log4net günlüğü oluşturuluyor ancak boş bırakılıyor

Kodu:

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

yanlış olabilir ne olduğuna bir işaretçiler?

cevap

6

Bu her zaman bana soruları gönderir göndermez ... olur.

Benim <configSections></configSections> etiketler doğrudan yapılandırma aldı (ı varsayalım) olmaz yani <configuration> bir çocuk değildi ve log4net bu her istisnalar yutar çünkü sadece benim app içine daha kendini gösterdi çıkıyor.

Günlüğe kaydetme iyi çalışıyor.

+2

Ayrıca, ', çıktısını görmek için bir konsolunuz olduğu varsayılarak çok daha fazla bilgi görmek için yapılandırmanızın açılış etiketine eklemek yararlıdır. – Ryan