Programiranje

Kako delati z log4net v C #

Pri delu z aplikacijami boste morda pogosto želeli zapisovati podatke o aplikacijah, ki lahko vključujejo zaporedje dogodkov v vaši aplikaciji, uporabniška dejanja ali celo napake, ko se pojavijo. Obstaja veliko dnevniških okvirov, ki jih lahko uporabite, toda log4net je daleč eden najbolj priljubljenih dnevniških okvirov za uporabo z aplikacijami, zgrajenimi ali razvitimi v .NET. To je odprtokodna knjižnica (vrata priljubljene odprtokodne knjižnice log4j za Javo), ki jo lahko uporabimo za beleženje podatkov aplikacije na različne cilje dnevnika v .NET.

Nameščanje log4net

Najlažji in najhitrejši način za začetek uporabe log4neta je namestitev prek upravitelja paketov NuGet. Ob predpostavki, da ste v Visual Studio ustvarili projekt aplikacije za konzolo, lahko namestite log4net prek programa NuGet Manager, tako da sledite tem korakom.

  1. V "Oknu raziskovalca rešitev" izberite in z desno miškino tipko kliknite svoj projekt
  2. Kliknite "Upravljanje paketov NuGet ..."
  3. Kliknite "Online" in v iskalno polje vnesite log4net
  4. Izberite paket log4net, ki ga želite namestiti
  5. Kliknite "Namesti", da začnete postopek namestitve

Od tega pisanja je zadnja stabilna izdaja log4net 2.0.5. Ko je log4net nameščen prek upravitelja paketov NuGet, boste opazili sklop log4net, dodan kot sklic na vaš projekt.

Konfiguriranje log4net

Zdaj, ko je bil paket log4net uspešno nameščen, dodajte naslednjo vrstico v datoteko AssemblyInfo.cs v mapi Lastnosti vašega projekta. Če to ni določeno, nastavitve konfiguracije ne bodo upoštevane.

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

Lahko pa isto omenite tudi v datoteki app.config ali web.config.

[montaža: log4net.Config.XmlConfigurator (Watch = true)]

Če so vaši metapodatki konfiguracije log4net v drugi datoteki (tj. Razen datotek web.config ali app.config), lahko namesto tega določite naslednje.

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

Naslednji korak je določiti potrebne podrobnosti o konfiguraciji za log4net v aplikaciji app.config ali datoteki web.config v aplikaciji. Ob predpostavki, da uporabljate projekt aplikacije ukazne mize, dodajte konfiguracijski razdelek z imenom "log4net" v datoteko app.config, kot je prikazano spodaj.

Zdaj za elementom v datoteki app.config dodajte razdelek "". Nato v razdelek "" vstavite podrobnosti o konfiguraciji, kot je prikazano v spodnjem delčku kode.

To je vse, kar morate storiti za konfiguracijo log4net. Zdaj pa raziščimo, kako ga lahko uporabimo v naši kodi. Element se uporablja za določanje imena in vrste zapisovalnika dnevnika, ki se bo uporabljal. V tem primeru uporabljamo dodatek tekoče datoteke. Na voljo pa je še veliko drugih vrst dodatkov, npr. AdoNetAppender, AspNetTraceAppender, ConsoleAppender itd. Tu je celoten seznam in navodila za konfiguriranje drugih dodatkov.

Uporaba log4net

V svojem razredu ustvarite referenco na ILog tako, da pokličete statično metodo GetLogger razreda LogManager, kot je prikazano v spodnjem delčku kode.

zasebni statični samo za branje log4net.ILog log =

log4net.LogManager.GetLogger

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

Zdaj lahko primerek z imenom log zapisujete podatke v konfigurirane cilje. Naslednji delček kode prikazuje, kako lahko zdaj izkoristite primerek dnevnika za beleženje podatkov.

log.Debug ("To je sporočilo za odpravljanje napak");

log.Info ("To je informativno sporočilo");

log.Warn ("To je opozorilno sporočilo");

log.Error ("To je sporočilo o napaki");

log.Fatal ("To je usodno sporočilo");

Tu je popoln seznam kod, ki prikazuje, kako lahko sporočilo o izjemi zabeležite v besedilno datoteko s pomočjo log4net.

razredni program

   {

statično samo za branje log4net.ILog log =

log4net.LogManager.GetLogger

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

statična praznina Main (string [] args)

       {

poskusite

           {

vrzi novo izjemo ("To je testno sporočilo ...");

           }

ulov (izjema ex)

           {

log.Error (npr. Sporočilo);

           }          

Console.Read ();

       }

   }

Ko zaženete zgornji program, bo ustvarjena besedilna datoteka z imenom .log in sporočilo o izjemi, ki bo zapisano skupaj s časovnim žigom. Upoštevajte, da lahko log4net uporabljate tudi programsko, torej konfigurirate log4net programsko brez potrebe po konfiguraciji, ki smo jo obravnavali prej.

$config[zx-auto] not found$config[zx-overlay] not found