. Einer der besten Plätze zu setzen NET-Anwendung Protokolle im Windows Event Log , die auf jedem Computer, der Windows verwendet existiert. . Event- Logging, laut Microsoft , gibt Ihnen die Möglichkeit , wichtige Informationen über die Anwendung der Tätigkeit an einem zentralen Ort zu speichern. Wenn Sie diese Informationen überprüfen möchten , können Sie dies manuell tun oder durch das Schreiben von ein paar Zeilen Code, der Daten aus der Windows Event Log abzurufen. Windows-Ereignisanzeige
Windows-und Drittanbieter-Anwendungen schreiben, um die Windows Event Log kontinuierlich . Sehen Sie diese Log-Einträge durch Eingabe von " Verwaltung" im Startmenü und wählen Sie " Ereignisanzeige ", um die Ereignisanzeige zu öffnen. Der Application-Ordner in der Ereignisanzeige enthält Anwendungs-Log -Einträge. Einige Entwickler verwenden Anwendungslogs Informationen zu Fehlern , die als ein Programm läuft auftreten zu erfassen. Andere könnten sich Einträge, die Rekord kritische Ereignisse wie Datenbank- Updates. Einer der Vorteile der Verwendung des Windows Event Log ist die Flexibilität, es gibt Ihnen beim Katalogisieren Informationen zur Veranstaltung . Jeder Protokolleintrag hat Felder wie EventType , EventID , Nachricht und TimeWritten . Nachdem Sie diese Werte in Ihrer Anwendung , erscheinen sie in der Ereignisanzeige sofort .
Logging Events
Sie haben nicht zu viel schreiben . NET-Code zu erstellen ein Eintrag in der Windows- Ereignisanzeige . Microsoft. NET -Sprachen wie C # eine besondere EventLog Klasse, Lesen, Schreiben und Löschen auch für Sie übernimmt . Der folgende Code erstellt eine neue Instanz der EventLog-Klasse und schreibt das Wort "Warnung ", um es :
wenn 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 teilt Windows mit , dass Sie eine Warnmeldung , deren Wert 10001 anmelden möchten . Wenn Sie eine informative Meldung anstelle einloggen möchten, ändern EventLogEntryType.Warning zu EventLogEntryType.Information . Legen Sie die WriteEntry Aussage an Orten , wo Sie wollen , an Veranstaltungen anmelden und . NET sendet Ihre Informationen, um das Windows-Ereignisprotokoll .
Lesen Application Log
kann auch lesen programmgesteuert mithilfe von Code ähnlich wie im folgenden C #-Beispiel gezeigt :
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 ();
die erste Zeile erhält einen Verweis auf das Application Log, und die restlichen Code durchläuft das Protokoll und zeigt Ereignis-IDs und Meldungen. Sie können auch ein anderes Ereignis Eigenschaften wie entry.TimeWritten und entry.EntryType . Wenn Sie Visual Studio . NET- Anwendungen zu testen verwenden, starten Sie das Programm im Administrator Modus vor dem Ausführen von Code . Dies stellt sicher, dass Ihr Antrag die Sicherheit Privilegien werden benötigt , um die Windows Event Log zuzugreifen.
Textdateien
Wenn Sie lieber nicht verwenden würde das Windows Event Log, erstellen Ihrem eigenen Log-Dateien und schreiben , was Sie wollen , um sie mit. NET StreamWriter -Klasse. Wenn Sie diese Methode verwenden, müssen Sie den Code schreiben, benötigt, um die Daten und abzurufen. Sie haben auch die Fähigkeit verlieren, Anwendung Log-Informationen schnell mit der Ereignisanzeige anzeigen . Unabhängig von der Methode, die Sie verwenden , denken Sie daran , dass Sie nicht haben, um Anwendung zu protokollieren , wenn Sie wirklich brauchen, um Fehler zu protokollieren oder erfassen Informationen, die Sie nützlich finden können später.