Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Schreiben von Einträgen in ein Ereignisprotokoll mithilfe von Visual C#

Eine Version dieses Artikels für Microsoft Visual C++ .NET finden Sie unter 815661.
Im folgenden Artikel wird dieses Thema für Microsoft Visual Basic .NET behandelt: 301279.

Dieser Artikel bezieht sich auf den folgenden Namespace für Microsoft .NET Framework-Klassenbibliotheken:
  • System.Diagnostics

Inhalt

Zusammenfassung
In diesem Artikel wird Schritt für Schritt beschrieben, wie Sie mit Microsoft .NET Framework eigene Einträge zum Ereignisprotokoll des Betriebssystems hinzufügen.

Zurück zum Anfang

Voraussetzungen

In der folgenden Liste werden die empfohlene Hardware, Software und Netzwerkinfrastruktur und die erforderlichen Service Packs aufgeführt:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server oder Windows NT 4.0 Server
  • Microsoft Visual Studio C#
Zurück zum Anfang

Schreiben in ein Ereignisprotokoll

Ereignisprotokolle stellen ein standardisiertes und zentralisiertes Verfahren für Anwendungen bereit, wichtige Software- und Hardwareereignisse aufzuzeichnen. Windows stellt mit der Ereignisanzeige eine Standardbenutzeroberfläche zum Anzeigen der Protokolle zur Verfügung. Mit der EventLog-Komponente der Common Language Runtime können ganz einfach Verbindungen mit vorhandenen Ereignisprotokollen auf lokalen Computern und Remotecomputern hergestellt und Einträge in diese Protokolle geschrieben werden. Sie können auch Einträge in vorhandenen Protokollen lesen und eigene, benutzerdefinierte Ereignisprotokolle erstellen. Zum Erstellen einer einfachen Beispielanwendung für das Schreiben in ein Ereignisprotokoll sind nur wenige Schritte erforderlich. Gehen Sie zu diesem Zweck folgendermaßen vor:
  1. Öffnen Sie Visual Studio C#.
  2. Erstellen Sie eine neue Konsolenanwendung in Visual C#. In der Konsolenanwendung werden eine öffentliche Klasse sowie eine leere Methode Main für Sie erstellt.
  3. Stellen Sie sicher, dass das Projekt mindestens einen Verweis auf die Datei "System.dll" enthält.
  4. Verwenden Sie die using-Direktive für die Namespaces System und System.Diagnostics, damit Sie später keine Deklarationen für diesen Namespaces in Ihren Code einfügen müssen. Sie müssen diese Anweisungen vor allen anderen Deklarationen einfügen.
    using System;using System.Diagnostics;					
  5. Für das Schreiben in ein Ereignisprotokoll sind verschiedene Informationen erforderlich: Die Meldung, der Name des Protokolls, in das geschrieben werden soll (wenn diese Datei nicht vorhanden ist, wird sie erstellt), sowie eine Zeichenfolgendarstellung der Quelle des Ereignisses. Eine bestimmte Quelle kann nur bei einem Ereignisprotokoll registriert werden. Wenn Meldungen in mehrere Protokolle geschrieben werden sollen, müssen Sie daher mehrere Quellen definieren.
    string sSource;string sLog;string sEvent;sSource = "dotNET Sample App";sLog = "Application";sEvent = "Sample Event";					
  6. Verwenden Sie zwei statische Methoden der EventLog-Klasse, um zu überprüfen, ob die Quelle vorhanden ist. Wenn dies nicht der Fall ist, wird die einem bestimmten Ereignisprotokoll zugeordnete Quelle erstellt. Wenn der von Ihnen angegebene Protokollname nicht vorhanden ist, wird die Datei beim Schreiben des ersten Eintrags automatisch erstellt. Wenn Sie der Methode CreateEventSource keinen Protokollnamen übergeben, erhält die Protokolldatei standardmäßig den Namen "Application Log".
    if (!EventLog.SourceExists(sSource))	EventLog.CreateEventSource(sSource,sLog);					
  7. Zum Schreiben einer Meldung in ein Ereignisprotokoll können Sie die statische EventLog.WriteEntry-Methode verwenden. Für diese Methode sind mehrere überladene Versionen verfügbar. Im nachfolgenden Codebeispiel werden zwei Methoden dargestellt: die einfachste Methode, die eine Quellzeichenfolge und Ihre Meldung verwendet, sowie eine komplexere Methode, die das Angeben der Ereignis-ID und des Ereignistyps unterstützt.
    EventLog.WriteEntry(sSource,sEvent);EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning, 234);					
  8. Speichern Sie die Anwendung. Führen Sie die Anwendung aus, und überprüfen Sie das Protokoll "Application" in der Ereignisanzeige auf die neuen Ereignisse.
Zurück zum Anfang

Vollständiges Codelisting

using System;using System.Diagnostics;namespace WriteToAnEventLog_csharp{	/// Zusammenfassende Beschreibung für Class1.	class Class1	{		static void Main(string[] args)		{			string sSource;			string sLog;			string sEvent;			sSource = "dotNET Sample App";			sLog = "Application";			sEvent = "Sample Event";			if (!EventLog.SourceExists(sSource))				EventLog.CreateEventSource(sSource,sLog);			EventLog.WriteEntry(sSource,sEvent);			EventLog.WriteEntry(sSource, sEvent,				EventLogEntryType.Warning, 234);		}	}}				
Zurück zum Anfang
Hinweis Dies ist ein Artikel, der im Schnellverfahren direkt von der Microsoft-Supportorganisation erstellt wurde. Die hierin enthaltenen Informationen werden als Reaktion auf neue Probleme wie besehen bereitgestellt. Da dieser Artikel im Schnellverfahren erstellt wurde, kann er Tippfehler enthalten und zu einem späteren Zeitpunkt ohne vorherige Ankündigung überarbeitet werden. Weitere zu berücksichtigende Informationen finden Sie in den Nutzungsbedingungen.
Eigenschaften

Artikelnummer: 307024 – Letzte Überarbeitung: 01/08/2014 17:06:00 – Revision: 1.0

Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition

  • kbdebug kbhowtomaster KB307024
Feedback
varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("