2016-07-12 2 views
0

У меня есть следующий код для добавления скользящего файла appender в log4net.Добавить log4net appender программно, но макет не работает

 ILog myLogger = LogManager.GetLogger("Audit"); 

     var auditAppender = new RollingFileAppender() 
     { 
      Name = "AuditAppender", 
      File = this.fullyQualifiedFileName, 
      DatePattern = "yyyyMMdd", 
      RollingStyle = RollingFileAppender.RollingMode.Date, 
      AppendToFile = true, 
      Layout = new PatternLayout() 
      { 
       ConversionPattern = "%newline %date %-5level %newline%message%newline", 
      }, 
     }; 

     auditAppender.ActivateOptions(); 

     log4net.Repository.Hierarchy.Logger l = (log4net.Repository.Hierarchy.Logger)myLogger.Logger; 
     l.AddAppender(auditAppender); 
     l.Repository.Configured = true; 

     myLogger.Info(message); 

Но результат, кажется, не следовать моим ConversionPattern вообще. Любая подсказка?

ответ

2

Вы были очень, очень близко ;-)

Единственное, что вы пропустили это вам нужно позвонить PatternLayout.ActivateOptions, а также:

var auditAppender = new RollingFileAppender() 
{ 
    // snip 
} 

((PatternLayout)auditAppender.Layout).ActivateOptions(); 
auditAppender.ActivateOptions(); 
+1

Очень хорошая информация! Он работает сейчас. – hardywang