EventLog.EntryWritten Событие

Определение

Происходит при записи в журнал событий на локальном компьютере.

public:
 event System::Diagnostics::EntryWrittenEventHandler ^ EntryWritten;
public event System.Diagnostics.EntryWrittenEventHandler? EntryWritten;
public event System.Diagnostics.EntryWrittenEventHandler EntryWritten;
member this.EntryWritten : System.Diagnostics.EntryWrittenEventHandler 
Public Custom Event EntryWritten As EntryWrittenEventHandler 

Тип события

Примеры

В следующем примере обрабатывается событие записи.

using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    // This member is used to wait for events.
    static AutoResetEvent signal;

    public static void Main(){

        signal = new AutoResetEvent(false);
        EventLog myNewLog = new EventLog("Application", ".", "testEventLogEvent");

        myNewLog.EntryWritten += new EntryWrittenEventHandler(MyOnEntryWritten);
        myNewLog.EnableRaisingEvents = true;
        myNewLog.WriteEntry("Test message", EventLogEntryType.Information);
        signal.WaitOne();
    }

    public static void MyOnEntryWritten(object source, EntryWrittenEventArgs e){
        Console.WriteLine("In event handler");
        signal.Set();
    }
}
Option Explicit On 
Option Strict On

Imports System.Diagnostics
Imports System.Threading


Class MySample

    ' This member is used to wait for events.
    Private Shared signal As AutoResetEvent


    Public Shared Sub Main()

        signal = New AutoResetEvent(False)
        Dim myNewLog As New EventLog("Application", ".", "testEventLogEvent")

        AddHandler myNewLog.EntryWritten, AddressOf MyOnEntryWritten
        myNewLog.EnableRaisingEvents = True
        myNewLog.WriteEntry("Test message", EventLogEntryType.Information)

        signal.WaitOne()
    End Sub


    Public Shared Sub MyOnEntryWritten(ByVal [source] As Object, ByVal e As EntryWrittenEventArgs)
        Console.WriteLine("In event handler")
        signal.Set()
    End Sub
End Class

Комментарии

Чтобы получить уведомления о событиях, необходимо задать значение EnableRaisingEventstrue. Уведомления о событиях можно получать только при записи записей на локальном компьютере. Вы не можете получать уведомления о записях, записанных на удаленных компьютерах.

При создании делегата EntryWritten вы определите метод, который будет обрабатывать событие. Чтобы связать событие с обработчиком событий, добавьте экземпляр делегата в событие. Обработчик событий вызывается всякий раз, когда происходит событие, пока не удалите делегат. Дополнительные сведения об обработке событий с помощью делегатов см. в разделе "Обработка и создание событий".

Система реагирует WriteEntry только на то, что последнее событие записи произошло по крайней мере шесть секунд ранее. Это означает, что вы получите только одно EntryWritten уведомление о событии в течение шести секунд, даже если происходит изменение нескольких журналов событий. Если вы вставляете достаточно длинный интервал сна (около 10 секунд) между вызовами WriteEntry, скорее всего, пропустите событие. Однако если события записи происходят чаще, вы можете не получать уведомление о событии до следующего интервала. Как правило, пропущенные уведомления о событиях не теряются, но задерживаются.

Применяется к

См. также раздел