So arbeiten Sie mit log4net in C #

Wenn Sie an Anwendungen arbeiten, möchten Sie häufig Anwendungsdaten protokollieren, die die Abfolge von Ereignissen in Ihrer Anwendung, Benutzeraktionen oder sogar Fehler, wenn sie auftreten, enthalten können. Es gibt viele Protokollierungsframeworks, die Sie verwenden können, aber log4net ist bei weitem eines der beliebtesten Protokollierungsframeworks für die Verwendung mit in .NET erstellten oder entwickelten Anwendungen. Es handelt sich um eine Open Source-Bibliothek (ein Port der beliebten Open Source-Bibliothek log4j für Java), mit der Anwendungsdaten auf verschiedenen Protokollzielen in .NET protokolliert werden können.

Log4net installieren 

Der einfachste und schnellste Weg, um mit log4net zu beginnen, ist die Installation über den NuGet Package Manager. Angenommen, Sie haben ein Konsolenanwendungsprojekt in Visual Studio erstellt, können Sie log4net über NuGet Manager installieren, indem Sie die folgenden Schritte ausführen.

  1. Wählen Sie im "Projektmappen-Explorer" Ihr Projekt aus und klicken Sie mit der rechten Maustaste darauf
  2. Klicken Sie auf "NuGet-Pakete verwalten ...".
  3. Klicken Sie auf "Online" und geben Sie log4net in das Suchfeld ein
  4. Wählen Sie das log4net-Paket aus, das Sie installieren möchten
  5. Klicken Sie auf "Installieren", um den Installationsvorgang zu starten

Zum jetzigen Zeitpunkt ist die neueste stabile Version von log4net 2.0.5. Sobald log4net über den NuGet Package Manager installiert wurde, beobachten Sie die als Referenz zu Ihrem Projekt hinzugefügte log4net-Assembly.

Log4net konfigurieren

Nachdem das log4net-Paket erfolgreich installiert wurde, fügen Sie der Datei AssemblyInfo.cs im Ordner Eigenschaften Ihres Projekts die folgende Zeile hinzu. Wenn dies nicht angegeben ist, werden die Konfigurationseinstellungen nicht berücksichtigt.

[Assembly: log4net.Config.XmlConfigurator (ConfigFile = "Log4Net.config", Watch = true)]

Alternativ können Sie dies auch in der Datei app.config oder web.config erwähnen.

[Assembly: log4net.Config.XmlConfigurator (Watch = true)]

Wenn sich Ihre log4net-Konfigurationsmetadaten in einer anderen Datei befinden (dh nicht in den Dateien web.config oder app.config), können Sie stattdessen Folgendes angeben.

[Assembly: log4net.Config.XmlConfigurator (ConfigFile = "log4net.config", Watch = true)]

Im nächsten Schritt geben Sie die erforderlichen Konfigurationsdetails für log4net in der Datei app.config oder web.config in Ihrer Anwendung an. Angenommen, Sie verwenden ein Konsolenanwendungsprojekt, fügen Sie der Datei app.config einen Konfigurationsabschnitt mit dem Namen "log4net" hinzu, wie unten gezeigt.

Fügen Sie nun den Abschnitt "" nach dem Element in Ihre Datei app.config ein. Platzieren Sie als Nächstes im Abschnitt "" die Konfigurationsdetails wie im folgenden Code-Snippet gezeigt.

Das ist alles, was Sie tun müssen, um log4net zu konfigurieren. Lassen Sie uns nun untersuchen, wie wir es in unserem Code verwenden können. Das Element wird verwendet, um den Namen und den Typ des zu verwendenden Loggers anzugeben. In diesem Beispiel verwenden wir den Rolling File Appender. Es stehen jedoch viele andere Arten von Appendern zur Verfügung, z. B. AdoNetAppender, AspNetTraceAppender, ConsoleAppender usw. Hier finden Sie die vollständige Liste und Informationen zum Konfigurieren anderer Appender.

Log4net verwenden 

Erstellen Sie in Ihrer Klasse einen Verweis auf ILog, indem Sie die statische GetLogger-Methode der LogManager-Klasse aufrufen, wie im folgenden Codeausschnitt gezeigt.

private static readonly log4net.ILog log = 

log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). DeclaringType);

Sie können jetzt die Instanz log verwenden, um Daten auf den konfigurierten Zielen zu protokollieren. Das folgende Codeausschnitt zeigt, wie Sie jetzt die Protokollinstanz zum Protokollieren von Daten nutzen können.

log.Debug ("Dies ist eine Debug-Nachricht");

log.Info ("Dies ist eine Info-Nachricht");

log.Warn ("Dies ist eine Warnmeldung");

log.Error ("Dies ist eine Fehlermeldung");

log.Fatal ("Dies ist eine schwerwiegende Nachricht");

Hier ist eine vollständige Codeliste, die zeigt, wie Sie Ihre Ausnahmemeldung mit log4net in einer Textdatei protokollieren können.

Klassenprogramm

   {

       statisch schreibgeschützt log4net.ILog log =

       log4net.LogManager.GetLogger

(System.Reflection.MethodBase.GetCurrentMethod (). DeclaringType);

       statische Leere Main (string [] args)

       {

           Versuchen

           {

               neue Ausnahme auslösen ("Dies ist eine Testnachricht ...");

           }}

           fangen (Ausnahme ex)

           {

               log.Error (ex.Message);

           }}          

           Console.Read ();

       }}

   }}

Nachdem Sie das obige Programm ausgeführt haben, wird eine Textdatei mit dem Namen .log erstellt und die angegebene Ausnahmemeldung zusammen mit dem Zeitstempel protokolliert. Beachten Sie, dass Sie log4net auch programmgesteuert verwenden können, dh log4net programmgesteuert konfigurieren können, ohne dass die zuvor beschriebene Konfiguration erforderlich ist.