2009-12-17 11 views

Antwort

14

ich an der log4net Quelle am Ende der Suche und Ich kann meinen eigenen Appender implementieren, der FileAppender erweitert und die Eigenschaft File überschreibt.

Ich verwende nur CWDFileAppender in meiner Konfiguration.

+0

Hey Kiko, setze solche Updates in deine Antwort. hält den Thread sauber, es sei denn, Sie haben die richtige Antwort auf Ihre eigene Frage ... –

+1

Dies ist die "richtige" Antwort auf meine eigene Frage. –

+0

Das hat gut für mich funktioniert, obwohl ich von RollingFileAppender geerbt habe. Ich lege es auch in eine gemeinsame Bibliothek, die ich verwende, damit ich es für alle meine Projekte verwenden kann. Denken Sie daran, die Baugruppe auch in Ihrer Konfiguration anzugeben, wenn Sie dies tun. Stuntbeaver

2

Nicht möglich aus der Konfigurationsdatei, wie pro here . Es kann möglich sein, wenn Sie es manuell aus Ihrem Programm konfigurieren aber:

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; 
} 

Anschließend können Sie es mit dem Logger zuordnen wie folgt:

AddAppender("Log4net.MainForm", CreateFileAppender("FileAppender", 
Path.Combine(Directory.GetCurrentDirectory(), "foo.log"))); 
+0

Das bestätigt, was ich dachte. Ich habe meine eigene Antwort mit einem ziemlich einfachen Weg veröffentlicht, um es konfigurierbar zu machen. –

Verwandte Themen