2009-12-17 20 views

cevap

14

ve FileAppender'ı genişleten ve File özelliğini geçersiz kılan kendi ekleyiciyi uygulayabileceğimi belirledim.

Yalnızca CWDFileAppender'ı yapılandırmamda kullanıyorum.

+0

Hey kiko, cevabınıza böyle güncellemeler koyun. kendi soruna doğru cevabı almadıkça, ipliği temiz tutar ... –

+1

Bu benim kendi soruma "doğru" cevabı. –

+0

Bu benim için iyi çalıştı, ancak RollingFileAppender'dan aldım. Bunu da kullandığım ortak bir kütüphaneye koydum, böylece tüm projelerimde kullanabileyim. Bunu yaparsanız, derlemenizi de kurulumunuzda belirtmeyi unutmayın. Stuntbeaver

2

Mümkün değil, here göre . aşağıdaki gibi

public static log4net.Appender.IAppender CreateFileAppender(string name, 
string fileName) 
{ 
    log4net.Appender.FileAppender appender = new 
log4net.Appender.FileAppender(); 
    appender.Name = name; 
    appender.File = fileName; 
    appender.AppendToFile = true; 

    log4net.Layout.PatternLayout layout = new 
log4net.Layout.PatternLayout(); 
    layout.ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n"; 
    layout.ActivateOptions(); 

    appender.Layout = layout; 
    appender.ActivateOptions(); 

    return appender; 
} 

Daha sonra kaydedici ilişkilendirebilirsiniz: Eğer olsa programın içinden elle yapılandırılırken eğer mümkün olabilir

ben log4net kaynağına bakarak sona erdi
AddAppender("Log4net.MainForm", CreateFileAppender("FileAppender", 
Path.Combine(Directory.GetCurrentDirectory(), "foo.log"))); 
+0

Bu düşündüğüm şeyi doğrular. Kendi cevabımı, yapılandırılabilir hale getirmek için oldukça kolay bir yolla gönderdim. –