Logging mit log4net
log4net ist ein Logging-Framework für die .NET Plattform. log4net stellt einen Mechanismus zum standardisierten Anwendungs-Logging zur Verfügung, der zur Laufzeit konfiguriert werden kann. Des Weiteren hat log4net nur geringe Auswirkungen auf die Anwendungsentwicklung und die Laufzeit Performance.
log4net kann hier heruntergeladen werden. Um es einzubinden muss man die entsprechende dll im eigenen Projekt referenzieren. So muss man für ein Projekt in .NET 1.1 die Datei bin\net\1.1\release\log4net.dll referenzieren.
Die Konfiguration von log4net erfolgt über die app.config bzw. web.config oder eine externe XML-Datei. Ausführliche Beispiele zur Konfiguration finden sich auf der Projektwebsite.
log4net Komponenten/Konzepte:
- Loggers: Sind Objekte, die der Entwickler zur Ausgabe von Logging-Informationen verwenden kann. Sie stellen eine API zur Verfügung, welche die Ausgabe von Log-Events in den folgenden Schweregraden ermöglicht: DEBUG, INFO, WARN, ERROR, FATAL.
- Appender: Appender behandeln die Ausgabe der Log-Events. So schreibt z.B. der EventLogAppender seine Ausgaben in das Windows Event Log, während der RollingFileAppender seine Ausgaben in eine Datei schreibt. Weitere Appender: AdoNetAppender, ConsoleAppender, SmtpAppender… Interessant ist die Möglichkeit, für verschiedene Schweregrade unterschiedliche Appender einzusetzen.
- Layout: Appender nutzen Layouts zur Formatierung der Log-Event-Ausgaben (z.B. XmlLayout zur Ausgabe der Log-Events als XML-Elemente)
Eine einfache Konfiguration innerhalb der App.Config könnte z.B. so aussehen:
[code lang="xml"]
Mit dem folgenden Aufruf wird log4net in der Application initialisiert:[code lang="csharp"]
log4net.Config.XmlConfigurator.Configure();
[/code]Mit dem folgenden Aufrauf kann dann ein Log-Eintrag generiert werden:[code lang="csharp"]
log4net.ILog log = log4net.LogManager.GetLogger(typeof(Form1));
log.Warn ("Anwendung gestartet");
[/code]
log4net Dokumentationen und Tutorials:
Tags:.NET, log4net, Logging, Visual Studio

