. En av de bästa ställen att sätta NET applikation stockar är i Windows Event Log som finns på varje dator som använder Windows . . Händelse loggning , enligt Microsoft , ger dig möjlighet att lagra viktig information om ditt program aktivitet på en central plats . När du behöver för att granska denna information , kan du göra det manuellt eller genom att skriva ett par rader kod som hämtar data från Windows Event Log . Loggboken i Windows
Windows och tredjepartsprogram skriva till Windows Event Log kontinuerligt . Visa dessa loggposter genom att skriva "Administrationsverktyg" i Start-menyn och välja "Event Viewer " för att öppna programmet Loggboken . Programmappen i Loggboken innehåller poster programlogg . Vissa utvecklare kan använda Programloggar att samla in information om fel som uppstår som ett program körs . Andra kanske logga poster som registrerar kritiska händelser såsom databasen uppdateras . En av fördelarna med att använda Windows händelselogg är den flexibilitet det ger dig när du ska katalogisera information om händelsen. Varje loggpost har områden som EventType , händelse-ID , meddelande och TimeWritten . När du har satt dessa värden i programmet , visas de i Loggboken omedelbart .
Loggningar
Du behöver inte skriva mycket . NET-kod för att skapa en post i händelseloggen i Windows . Microsoft. NET språk som C har # en särskild EventLog klass som hanterar läsning , skrivning och även strykning för dig . I följande kod skapas en ny instans av EventLog klassen och skriver ordet " Varning " till det :
p Om EventLog ( ( EventLog.SourceExists ( " EventSource1 " , System.Environment.MachineName ) ) ! ) . CreateEventSource ( " EventSource1 " , " Application " , System.Environment.MachineName ) ;
EventLog Log1 = ny EventLog ( " Application " , System.Environment.MachineName , " EventSource1 " ) ;
log1.WriteEntry ( " Warning1 " , EventLogEntryType.Warning , 10001 ) ; log1.Close ( ) ;
EventLogEntryType.Warning säger Windows att du vill logga ett varningsmeddelande , vars värde är 10001 . Om du vill logga ett informationsmeddelande istället , ändra EventLogEntryType.Warning till EventLogEntryType.Information . Placera WriteEntry uttalande på platser där du vill logga händelser , och . NET skickar din information till Windows Event Log .
Läsa Application Log
Du kan även läsa information programmatiskt använder kod liknande den som visas i följande C # exempel :
EventLog Log1 = ny EventLog ( " Application " , System.Environment.MachineName ) ;
för ( int i = log1.Entries.Count - 1 , i < log1.Entries.Count , i - ) { EventLogEntry posten = log1.Entries [ i] ; Console.WriteLine ( entry.EventID + " " + entry.Message + " \\ n " ) ;} log1.Close ( ) ;
första raden får en hänvisning till ansökan loggen , och de återstående slingor kod genom loggen och visar händelse -ID och meddelanden . Du kan även se andra evenemang egenskaper såsom entry.TimeWritten och entry.EntryType . Om du använder Visual Studio att testa din . NET-applikationer , starta programmet i administrativa läge innan du kör någon kod . Detta garanterar att din ansökan har säkerheten privilegier som krävs för att få tillgång till Windows Event Log .
Textfiler
p Om du inte vill använda Windows Event Log , skapa egna, privata loggfiler och skriva vad du vill till dem med . NET StreamWriter klass . Om du använder denna metod , måste du skriva den kod som behövs för att hämta dessa data också. Du förlorar också möjligheten att visa information ansökan log snabbt med hjälp av Loggboken . Oavsett vilken metod du använder , kom ihåg att du inte behöver logga programhändelser om du verkligen behöver för att logga fel eller fånga upp information som kan vara användbar senare .