Gewusst wie: Behandeln des EntryWritten-Ereignisses

Aktualisiert: November 2007

Sie können für EventLog-Komponenten Ereignishandler erstellen, durch die automatisch eine Prozedur aufgerufen wird, sobald ein Eintrag in ein Protokoll geschrieben wird. Es gibt mehrere Möglichkeiten zum Erstellen eines Ereignishandlers für eine Instanz der EventLog-Komponente. Am einfachsten ist es jedoch, einen Großteil der Syntax automatisch von Visual Studio behandeln zu lassen. Wenn Sie im Designer auf die EventLog-Komponente doppelklicken, aktiviert Visual Studio den Code-Editor und erstellt den Ereignishandler sowie die von ihm aufgerufene leere Prozedur. Anschließend können Sie die Verarbeitungsschritte eingeben, die im EntryWritten-Ereignishandler enthalten sein sollen.

Weitere Informationen zu Ereignishandlern finden Sie unter Behandeln und Auslösen von Ereignissen.

So erstellen Sie einen Standardhandler für das EntryWritten-Ereignis

  1. Doppelklicken Sie im Designer auf die EventLog-Komponente, für die ein Handler erstellt werden soll.

    Hinweis:

    Dem Code werden im daraufhin geöffneten Code-Editor zwei Elemente hinzugefügt: der Handler, der einen Delegaten erstellt und registriert sowie die Prozedur aufruft, und eine leere Prozedur für das EntryWritten-Ereignis.

  2. Definieren Sie in der leeren Prozedur für das EntryWritten-Ereignis Code, durch den Einträge empfangen und verarbeitet werden, sobald dieses Ereignis aufgerufen wird. Der Code kann wie folgt aussehen:

    Private Sub EventLog1_EntryWritten(ByVal sender As System.Object, ByVal e As System.Diagnostics.EntryWrittenEventArgs) Handles EventLog1.EntryWritten
        If e.Entry.Source = "MyApplication" Then
            Console.WriteLine("Entry written by my app. Message: " & _
               e.Entry.Message)
        Else
            Console.WriteLine("Entry written by another application. ")
        End If
    End Sub
    
     private void eventLog1_EntryWritten(object sender, System.Diagnostics.EntryWrittenEventArgs e)
        {
            if (e.Entry.Source == "MyApplication")
                Console.WriteLine("Entry written by my application. Message: "
                   + e.Entry.Message);
            else
                Console.WriteLine("Entry was written by another application.");
        }
    
  3. Legen Sie die EnableRaisingEvents-Eigenschaft auf true fest.

So erstellen Sie programmgesteuert einen Handler

  1. Erstellen Sie mit der AddHandler-Methode einen Ereignishandler vom Typ EntryWrittenEventHandler für die Komponente, der beim Schreiben eines Eintrags in das Protokoll die eventLog1_EntryWritten-Methode aufruft. Der Code muss wie folgt aussehen:

    Public Sub method5()
        AddHandler EventLog1.EntryWritten, _
           New System.Diagnostics.EntryWrittenEventHandler( _
           AddressOf Me.EventLog1_EntryWritten)
    
         this.eventLog1.EntryWritten += new
               System.Diagnostics.EntryWrittenEventHandler(
               this.eventLog1_EntryWritten);
    
    Hinweis:

    Weitere Informationen über diese Syntax finden Sie unter Behandeln und Auslösen von Ereignissen.

  2. Erstellen Sie die EntryWritten-Prozedur, und definieren Sie den Code für die Verarbeitung der Ereignisse.

  3. Legen Sie die EnableRaisingEvents-Eigenschaft auf true fest.

Siehe auch

Aufgaben

Gewusst wie: Konfigurieren von Instanzen von EventLog-Komponenten

Gewusst wie: Konfigurieren von Instanzen von EventLog-Komponenten

Weitere Ressourcen

Behandeln und Auslösen von Ereignissen