Programmering

Sådan arbejder du med log4net i C #

Når du arbejder på applikationer, kan du ofte logge applikationsdata, der kan omfatte, rækkefølgen af ​​begivenheder i din applikation, brugerhandlinger eller endda fejl, når de opstår. Der er mange logningsrammer, du kan bruge, men log4net er langt en af ​​de mest populære logningsrammer til brug sammen med applikationer, der er bygget eller udviklet i .NET. Det er et open source-bibliotek (en port i det populære log4j open source-bibliotek til Java), der kan bruges til at logge applikationsdata til forskellige logmål i .NET.

Installation af log4net

Den nemmeste og hurtigste måde at komme i gang ved hjælp af log4net er ved at installere det via NuGet Package Manager. Forudsat at du har oprettet et konsolapplikationsprojekt i Visual Studio, kan du installere log4net via NuGet Manager ved at følge disse trin.

  1. I vinduet "Solution Explorer" skal du vælge og højreklikke på dit projekt
  2. Klik på "Administrer NuGet-pakker ..."
  3. Klik på "Online", og skriv derefter log4net i søgefeltet
  4. Vælg den log4net-pakke, du vil installere
  5. Klik på "Installer" for at starte installationsprocessen

I skrivende stund er den seneste stabile udgivelse af log4net 2.0.5. Når log4net er blevet installeret via NuGet Package Manager, vil du observere log4net-samlingen tilføjet som en reference til dit projekt.

Konfiguration af log4net

Nu da log4net-pakken er installeret med succes, skal du tilføje følgende linje til filen AssemblyInfo.cs i mappen Egenskaber i dit projekt. Hvis dette ikke er angivet, vil konfigurationsindstillingerne ikke blive overvejet.

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

Alternativt kan du også nævne det samme i app.config eller web.config-filen.

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

Hvis dine log4net-konfigurationsmetadata findes i en anden fil (dvs. andre end web.config- eller app.config-filer), kan du angive følgende i stedet.

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

Det næste trin er at specificere de nødvendige konfigurationsoplysninger for log4net i app.config eller web.config-filen i din applikation. Forudsat at du bruger et konsolapplikationsprojekt, skal du tilføje et konfigurationsafsnit med navnet "log4net" i filen app.config som vist nedenfor.

Tilføj nu sektionen "" efter elementet i din app.config-fil. Derefter placeres konfigurationsoplysningerne inde i sektionen "" som vist i kodestykket nedenfor.

Det er alt hvad du skal gøre for at konfigurere log4net. Lad os nu undersøge, hvordan vi kan bruge det i vores kode. Elementet bruges til at specificere navnet og typen på den logger, der skal bruges. I dette eksempel bruger vi rullende fil appender. Der er dog mange andre typer appenders tilgængelige, dvs. AdoNetAppender, AspNetTraceAppender, ConsoleAppender osv. Her er den fulde liste, og hvordan man konfigurerer andre appenders.

Brug af log4net

Opret en henvisning til ILog i din klasse ved at ringe til den statiske GetLogger-metode i LogManager-klassen som vist i kodestykket nedenfor.

privat statisk readonly log4net.ILog log =

log4net.LogManager.GetLogger

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

Du kan nu bruge forekomsten med navnet log til at logge data til de konfigurerede mål. Følgende kodestykke illustrerer, hvordan du nu kan udnytte logforekomsten til at logge data.

log.Debug ("Dette er en fejlretningsmeddelelse");

log.Info ("Dette er en infomeddelelse");

log.Warn ("Dette er en advarselsmeddelelse");

log.Error ("Dette er en fejlmeddelelse");

log.Fatal ("Dette er en dødelig besked");

Her er en komplet kodeliste, der viser, hvordan du kan logge din undtagelsesmeddelelse i en tekstfil ved hjælp af log4net.

klasse Program

   {

statisk readonly log4net.ILog log =

log4net.LogManager.GetLogger

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

statisk ugyldigt Main (streng [] args)

       {

prøve

           {

smid ny undtagelse ("Dette er testmeddelelse ...");

           }

fangst (undtagelse ex)

           {

log.Error (f.eks. besked);

           }          

Console.Read ();

       }

   }

Når du har udført ovenstående program, oprettes en tekstfil med navnet .log, og den undtagelsesmeddelelse, der er angivet med, logges sammen med tidsstemplet. Bemærk, at du også kan bruge log4net programmatisk, dvs. konfigurere log4net uden at programmere behovet for den konfiguration, vi diskuterede tidligere.