Kako raditi s log4netom na C #

Kada radite na aplikacijama, često ćete htjeti prijaviti podatke o aplikacijama koji mogu uključivati, slijed događaja u vašoj aplikaciji, radnje korisnika ili čak pogreške kada se pojave. Postoji mnogo okvira za bilježenje koje možete koristiti, ali log4net je daleko jedan od najpopularnijih okvira za bilježenje za upotrebu s aplikacijama izgrađenim ili razvijenim u .NET-u. To je biblioteka otvorenog koda (port popularne log4j biblioteke otvorenog koda za Javu) koja se može koristiti za bilježenje podataka aplikacije na različite ciljeve dnevnika u .NET-u.

Instaliranje log4net 

Najlakši i najbrži način da započnete koristiti log4net je njegova instalacija putem NuGet Package Managera. Pod pretpostavkom da ste kreirali projekt aplikacije konzole u Visual Studiju, možete instalirati log4net putem NuGet Managera, slijedeći ove korake.

  1. U "Prozoru istraživača rješenja" odaberite i desnom tipkom miša kliknite svoj projekt
  2. Kliknite "Upravljanje NuGet paketima ..."
  3. Kliknite "Online", a zatim u okvir za pretraživanje upišite log4net
  4. Odaberite paket log4net koji želite instalirati
  5. Kliknite "Instaliraj" da biste započeli postupak instalacije

Od pisanja ovog članka, posljednje stabilno izdanje log4neta je 2.0.5. Nakon što se log4net instalira putem NuGet Package Managera, primijetit ćete log4net koji je dodan kao referenca na vaš projekt.

Konfiguriranje log4net

Sada kada je paket log4net uspješno instaliran, dodajte sljedeći redak u datoteku AssemblyInfo.cs u mapi Svojstva vašeg projekta. Ako ovo nije navedeno, postavke konfiguracije neće se uzimati u obzir.

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

Isto tako, isto možete spomenuti u datoteci app.config ili web.config.

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

Ako se vaši metapodaci konfiguracije log4net nalaze u nekoj drugoj datoteci (tj., Osim datoteka web.config ili app.config), umjesto toga možete navesti sljedeće.

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

Sljedeći je korak odrediti potrebne detalje o konfiguraciji za log4net u aplikaciji app.config ili web.config u vašoj aplikaciji. Pod pretpostavkom da koristite projekt aplikacije konzole, dodajte odjeljak za konfiguraciju pod nazivom "log4net" u datoteku app.config kako je prikazano u nastavku.

Sada dodajte odjeljak "" nakon elementa u datoteku app.config. Dalje, unutar odjeljka "" stavite detalje o konfiguraciji kako je prikazano u isječku koda koji je dat u nastavku.

To je sve što trebate za konfiguriranje log4neta. Istražimo sada kako ga možemo koristiti u našem kodu. Element se koristi za specificiranje imena i vrste zapisnika koji će se koristiti. U ovom primjeru koristimo dodatak valjane datoteke. Međutim, dostupne su mnoge druge vrste dodataka, npr. AdoNetAppender, AspNetTraceAppender, ConsoleAppender itd. Ovdje je cjelovit popis i kako konfigurirati druge dodatke.

Korištenje log4net 

U svojoj klasi stvorite referencu na ILog pozivanjem statičke metode GetLogger klase LogManager kako je prikazano u donjem isječku koda.

privatni statički samo za čitanje log4net.ILog log = 

log4net.LogManager.GetLogger

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

Sada možete koristiti instancu pod nazivom log za evidentiranje podataka na konfiguriranim ciljevima. Sljedeći isječak koda ilustrira kako sada možete iskoristiti prednost instance dnevnika za bilježenje podataka.

log.Debug ("Ovo je poruka za otklanjanje pogrešaka");

log.Info ("Ovo je informativna poruka");

log.Warn ("Ovo je poruka upozorenja");

log.Error ("Ovo je poruka o pogrešci");

log.Fatal ("Ovo je fatalna poruka");

Evo kompletnog popisa kodova koji pokazuje kako možete prijaviti svoju iznimku u tekstualnu datoteku pomoću log4net.

razredni program

   {

       statički samo za čitanje log4net.ILog log =

       log4net.LogManager.GetLogger

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

       statička praznina Main (string [] args)

       {

           probati

           {

               baciti novu iznimku ("Ovo je testna poruka ...");

           }

           ulov (izuzetak ex)

           {

               log.Error (npr. poruka);

           }          

           Console.Read ();

       }

   }

Nakon što izvršite gornji program, stvorit će se tekstualna datoteka s imenom .log i zapisat će se poruka o iznimci s vremenskom oznakom. Imajte na umu da log4net također možete koristiti programski, tj. Konfigurirati log4net programski bez potrebe za konfiguracijom o kojoj smo ranije razgovarali.