Gewusst wie: Erstellen und Entfernen benutzerdefinierter Ereignisprotokolle

Aktualisiert: November 2007

Mithilfe der EventLog-Klasse können Sie ein benutzerdefiniertes Ereignisprotokoll auf einem lokalen oder auf einem Remotecomputer erstellen. Wenn Sie Einträge effizienter organisieren möchten, als es beim Schreiben von Einträgen in das Standardanwendungsprotokoll möglich ist, können Sie auch ein benutzerdefiniertes Protokoll erstellen. Angenommen, Sie verfügen über eine Komponente mit dem Namen "OrderEntry", durch die Eintragsinformationen in ein Ereignisprotokoll geschrieben werden. Sie beabsichtigen, diese Einträge länger als andere Einträge im Anwendungsprotokoll zu sichern und zu speichern. Anstatt die Komponente für das Schreiben von Einträgen in das Anwendungsprotokoll zu registrieren, können Sie auch ein benutzerdefiniertes Protokoll mit dem Namen OrdersLog erstellen und dann die Komponente so registrieren, dass Einträge stattdessen in dieses Protokoll geschrieben werden. Auf diese Weise werden alle Bestellinformationen zentral gespeichert und bleiben auch dann erhalten, wenn die Einträge aus dem Anwendungsprotokoll gelöscht werden.

Mit der CreateEventSource-Methode können Sie auf indirekte Weise ein benutzerdefiniertes Protokoll erstellen. Durch diese Methode wird eine neue Quelle erstellt, und Sie können das Protokoll angeben, in das Einträge geschrieben werden sollen. Wenn Sie versuchen, Einträge in ein nicht vorhandenes Protokoll zu schreiben, erstellt das System automatisch ein benutzerdefiniertes Protokoll und registriert die Komponente als Quelle für dieses Protokoll.

Hinweis:

Benutzerdefinierte Protokolle werden auf dieselbe Weise entfernt wie andere Protokolle, und zwar durch Aufrufen der Delete-Methode. Weitere Informationen hierzu finden Sie unter Gewusst wie: Löschen von Ereignisprotokollen.

Zwischen dem Erstellen eines Ereignisprotokolls und dem Erstellen einer Instanz der EventLog-Komponente besteht ein deutlicher Unterschied. Mit der CreateEventSource-Methode erstellen Sie ein neues benutzerdefiniertes Ereignisprotokoll in Windows und keine Komponente in einem Projekt oder einer Anwendung. Wenn Sie eine Instanz der EventLog-Komponente erstellen, erstellen Sie eine Komponente innerhalb des Projekts, die auf ein externes Ereignisprotokoll verweist. Sie können die mit der CreateEventSource-Methode erstellten Ereignisprotokolle im Ereignis-Viewer betrachten, Komponenteninstanzen können dort jedoch nicht anzeigt werden.

Hinweis:

Im Allgemeinen erstellen Sie die neue Ereignisquelle während der Installation der Anwendung. Dies gibt dem Betriebssystem Gelegenheit, die Liste der registrierten Ereignisquellen und deren Konfiguration zu aktualisieren. Wenn das Betriebssystem die Liste der Ereignisquellen nicht aktualisiert hat und Sie versuchen, ein Ereignis mit der neuen Quelle zu schreiben, schlägt der Schreibvorgang fehl. Wenn die Quelle nicht während der Installation erstellt werden kann, versuchen Sie, die Quelle deutlich vor dem ersten Schreibvorgang zu erstellen, möglicherweise bei der Anwendungsinitialisierung. Wenn Sie diesen Ansatz wählen, stellen Sie sicher, dass der Initialisierungscode mit Administratorrechten auf dem Computer ausgeführt wird. Diese Rechte sind für das Erstellen von neuen Ereignisquellen erforderlich.

Benutzerdefinierte Protokolle können im Server-Explorer oder im Fenster Computerverwaltung von Windows 2000 angezeigt werden. Weitere Informationen finden Sie unter Gewusst wie: Arbeiten mit Ereignisprotokollen im Server-Explorer oder unter Gewusst wie: Starten des Ereignis-Viewers aus dem Server-Explorer.

Um Protokolle erstellen und löschen zu können, müssen Sie auf den Remotecomputern über die erforderlichen Zugriffsrechte verfügen. Weitere Informationen hierzu finden Sie unter Sicherheitsauswirkungen von Ereignisprotokollen.

Sicherheitshinweis:

Beachten Sie bei der Erstellung eines Ereignisprotokolls, dass die Ressource bereits vorhanden sein kann. Möglicherweise wurde die Ressource bereits von einem bösartigen Prozess erstellt, der nun darauf zugreifen kann. Wenn Sie dem Ereignisprotokoll Daten hinzufügen, kann der andere Prozess darauf zugreifen. Informationen über vorhandene Ereignisprotokolle finden Sie unter Gewusst wie: Bestimmen, ob spezifische Ereignisprotokolle vorhanden sind.

So erstellen Sie ein benutzerdefiniertes Ereignisprotokoll

  • Rufen Sie die CreateEventSource-Methode auf, und geben Sie die Quellzeichenfolge sowie den Namen der zu erstellenden Protokolldatei an.

    Hinweis:

    Wenn Sie NULL ("") als Protokollnamen angeben, wird automatisch das Anwendungsprotokoll verwendet. Dadurch wird kein neues Protokoll erstellt, sondern die angegebene Quelle für das Anwendungsprotokoll registriert. Beim Erstellen eines neuen Protokolls werden zum Überprüfen der Eindeutigkeit nur die ersten acht Buchstaben berücksichtigt.

    Im folgenden Beispiel wird veranschaulicht, wie Sie ein benutzerdefiniertes Protokoll mit dem Namen MyNewLog auf dem lokalen Computer erstellen: In diesem Codebeispiel wird vorausgesetzt, dass eine Imports-Anweisung oder eine using-Anweisung für den System.Diagnostics-Namespace vorhanden ist:

    EventLog.CreateEventSource("ApplicationName", "LogName")
    
         System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "LogName");
    

    Um ein benutzerdefiniertes Ereignisprotokoll auf einem Remotecomputer zu erstellen, geben Sie den Computernamen als dritten Parameter an. Im Folgenden ein Codebeispiel.

    Dim creationData As New EventSourceCreationData("ApplicationName", "LogName")
    creationData.MachineName = "ServerName"
    EventLog.CreateEventSource(creationData)
    
         System.Diagnostics.EventSourceCreationData creationData = new
                System.Diagnostics.EventSourceCreationData("ApplicationName", "LogName");
            creationData.MachineName = "ServerName";
            EventLog.CreateEventSource(creationData);
    

Siehe auch

Aufgaben

Gewusst wie: Löschen von Ereignisprotokollen

Gewusst wie: Arbeiten mit Ereignisprotokollen im Server-Explorer

Gewusst wie: Starten des Ereignis-Viewers aus dem Server-Explorer

Konzepte

Sicherheitsauswirkungen von Ereignisprotokollen

Einführung in die EventLog-Komponente

Referenz

EventLog

Weitere Ressourcen

Verwalten von Ereignisprotokollen