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, скорее всего, пропустите событие. Однако если события записи происходят чаще, вы можете не получать уведомление о событии до следующего интервала. Как правило, пропущенные уведомления о событиях не теряются, но задерживаются.