Programmering

Hvordan jobbe med log4net i C #

Når du arbeider med applikasjoner, kan det være lurt å logge applikasjonsdata som kan omfatte, rekkefølgen av hendelser i applikasjonen, brukerhandlinger eller til og med feil når de oppstår. Det er mange loggingsrammer du kan bruke, men log4net er uten tvil en av de mest populære loggerammene for bruk med applikasjoner bygget eller utviklet i .NET. Det er et open source-bibliotek (en port til det populære log4j open source-biblioteket for Java) som kan brukes til å logge applikasjonsdata til forskjellige loggmål i .NET.

Installere log4net

Den enkleste og raskeste måten å komme i gang med log4net er å installere det gjennom NuGet Package Manager. Forutsatt at du har opprettet et konsollapplikasjonsprosjekt i Visual Studio, kan du installere log4net via NuGet Manager, ved å følge disse trinnene.

  1. I vinduet Solution Explorer velger du og høyreklikker på prosjektet ditt
  2. Klikk på "Administrer NuGet-pakker ..."
  3. Klikk "Online" og skriv deretter log4net i søkeboksen
  4. Velg log4net-pakken du vil installere
  5. Klikk "Installer" for å starte installasjonsprosessen

I skrivende stund er den siste stabile utgivelsen av log4net 2.0.5. Når log4net er installert via NuGet Package Manager, vil du observere log4net-enheten som er lagt til som en referanse til prosjektet ditt.

Konfigurerer log4net

Nå som log4net-pakken er installert, legger du til følgende linje i AssemblyInfo.cs-filen i Egenskaper-mappen til prosjektet. Hvis dette ikke er spesifisert, vil ikke konfigurasjonsinnstillingene bli vurdert.

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

Alternativt kan du også nevne det samme i app.config eller web.config-filen.

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

Hvis log4net-konfigurasjonsmetadataene dine ligger i en annen fil (dvs. andre enn web.config- eller app.config-filer), kan du spesifisere følgende i stedet.

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

Neste trinn er å spesifisere nødvendige konfigurasjonsdetaljer for log4net i app.config eller web.config-filen i applikasjonen. Forutsatt at du bruker et konsollapplikasjonsprosjekt, legg til en konfigurasjonsseksjon kalt "log4net" i app.config-filen som vist nedenfor.

Legg nå til delen "" etter elementet i appen.config-filen. Deretter, i "" delen, plasserer du konfigurasjonsdetaljene som vist i kodebiten gitt nedenfor.

Det er alt du trenger å gjøre for å konfigurere log4net. La oss nå undersøke hvordan vi kan bruke den i koden vår. Elementet brukes til å spesifisere navnet og typen på loggeren som skal brukes. I dette eksemplet bruker vi rullende filappender. Imidlertid er det mange andre typer appenders tilgjengelig, dvs. AdoNetAppender, AspNetTraceAppender, ConsoleAppender, etc. Her er hele listen og hvordan du konfigurerer andre appenders.

Bruker log4net

Opprett en referanse til ILog i klassen din ved å ringe til den statiske GetLogger-metoden for LogManager-klassen som vist i kodebiten gitt nedenfor.

privat statisk readonly log4net.ILog log =

log4net.LogManager.GetLogger

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

Du kan nå bruke forekomsten som heter loggen til å logge data til de konfigurerte målene. Følgende kodebit illustrerer hvordan du nå kan dra nytte av loggforekomsten til å logge data.

log.Debug ("Dette er en feilsøkingsmelding");

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

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

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

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

Her er en komplett kodeliste som viser hvordan du kan logge unntaksmeldingen i en tekstfil ved hjelp av log4net.

klasse Program

   {

statisk readonly log4net.ILog log =

log4net.LogManager.GetLogger

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

statisk tomrom Main (streng [] args)

       {

prøve

           {

kaste nytt unntak ("Dette er testmelding ...");

           }

fangst (Unntak eks)

           {

log.Error (f.eks. melding);

           }          

Console.Read ();

       }

   }

Etter at du har kjørt ovennevnte program, opprettes en tekstfil med navnet .log, og unntaksmeldingen som er angitt, logges sammen med tidsstempelet. Vær oppmerksom på at du også kan bruke log4net programmatisk, dvs. konfigurere log4net programmatisk uten behovet for konfigurasjonen vi diskuterte tidligere.

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