. Et av de beste stedene å sette NET applikasjon logger er i Windows Event Log som eksisterer på hver datamaskin som bruker Windows. . Logging , ifølge Microsoft , gir deg muligheten til å lagre viktig informasjon om programmets aktivitet på et sentralt sted . Når du trenger å gjennomgå denne informasjonen , kan du gjøre det manuelt , eller ved å skrive noen få linjer med kode som henter data fra Windows Event Log. Windows Event Viewer
Windows og tredjeparts applikasjoner skrive til Windows Event Log kontinuerlig. Vise disse oppføringer ved å skrive "Administrative Tools" i Start-menyen og velge "Event Viewer " for å åpne Event Viewer-programmet . Application mappen i Event Viewer inneholder søknad oppføringer i loggen . Noen utviklere kan bruke programmet logger for å fange opp informasjon om feil som oppstår som et program kjører . Andre kan logge oppføringer som registrerer kritiske hendelser som database oppdateringer . En av fordelene med å bruke Windows Event log er fleksibiliteten det gir deg når katalogisering informasjon om hendelsen. Hver loggpost har felt som EventType , eventid , Melding og TimeWritten . Etter at du har satt disse verdiene i programmet, vises de i Event Viewer umiddelbart .
Logging Hendelser
Du trenger ikke å skrive mye. NET koden for å lage en oppføring i Windows hendelsesloggen . Microsoft. NET språk som C # har en spesiell EventLog klasse som håndterer lesing, skriving og til og med sletting for deg. Følgende kode oppretter en ny forekomst av EventLog klasse og skriver ordet "Advarsel" til det : en
hvis EventLog ( ( EventLog.SourceExists ( " EventSource1 " , System.Environment.MachineName ) ) ! ) . CreateEventSource ( " EventSource1 ", " Application " , System.Environment.MachineName ) ;
EventLog log1 = new EventLog ( " Application " , System.Environment.MachineName , " EventSource1 ");
log1.WriteEntry ( " warning1 " , EventLogEntryType.Warning , 10001 ) ; log1.Close ();
EventLogEntryType.Warning forteller Windows at du ønsker å logge en advarsel hvis verdi er 10 001 . Hvis du ønsker å logge en informativ melding i stedet , endre EventLogEntryType.Warning til EventLogEntryType.Information . Plasser WriteEntry uttalelse på steder der du ønsker å logge hendelser , og . NET sender informasjonen til Windows Event Log.
Reading Application Logg
kan også lese informasjon programmatisk ved hjelp av koden lik som vist i følgende C # eksempel : en
EventLog log1 = new EventLog ( " Application " , System.Environment.MachineName ) ;
for ( int i = log1.Entries.Count - 1; i < log1.Entries.Count , i - ) { EventLogEntry entry = log1.Entries [i ]; Console.WriteLine ( entry.EventID + " " + entry.Message + "\\ n" ); } log1.Close ();
den første linjen får en henvisning til Application loggen , og de resterende kode looper gjennom loggen og viser event IDer og meldinger . Du kan også se andre arrangement egenskaper som entry.TimeWritten og entry.EntryType . Hvis du bruker Visual Studio til å teste dine . NET applikasjoner , starte programmet i Administrative modus før du kjører noen kode. Dette sikrer at din søknad har sikkerheten privilegier som trengs for å få tilgang til Windows Event Log.
Tekstfiler
p Hvis du heller ikke bruke Windows Event Log, skape dine egne private loggfiler og skrive noe du liker dem å bruke . NET StreamWriter klasse . Hvis du bruker denne metoden , må du skrive inn koden for å hente disse dataene også. Du mister også muligheten til å vise programmet log informasjon raskt ved hjelp av Event Viewer . Uansett hvilken metode du bruker , husk at du ikke trenger å logge søknad hendelser med mindre du virkelig trenger å logge feil eller fange opp informasjon som du kan finne nyttig senere .