EventLog.EntryWritten 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
로컬 컴퓨터에 있는 이벤트 로그에 엔트리를 쓸 때 발생합니다.
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.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
ref class MySample
{
private:
// This member is used to wait for events.
static AutoResetEvent^ signal;
public:
static void main()
{
signal = gcnew AutoResetEvent( false );
EventLog^ myNewLog = gcnew EventLog;
myNewLog->Source = "testEventLogEvent";
myNewLog->EntryWritten += gcnew EntryWrittenEventHandler( MyOnEntryWritten );
myNewLog->EnableRaisingEvents = true;
myNewLog->WriteEntry("Test message", EventLogEntryType::Information);
signal->WaitOne();
}
static void MyOnEntryWritten( Object^ /*source*/, EntryWrittenEventArgs^ /*e*/ )
{
Console::WriteLine("In event handler");
signal->Set();
}
};
int main()
{
MySample::main();
}
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 대리자를 만드는 경우 이벤트를 처리할 메서드를 결정합니다. 이벤트를 이벤트 처리기와 연결하려면 대리자의 인스턴스를 해당 이벤트에 추가합니다. 이벤트 처리기 대리자를 제거할 때까지 이벤트가 발생할 때마다 호출 됩니다. 대리자를 사용 하 여 이벤트를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.
시스템은 마지막 쓰기 이벤트가 최소 6초 전에 발생한 경우에만 에 응답 WriteEntry 합니다. 이는 두 개 이상의 이벤트 로그 변경이 발생하더라도 6초 간격 내에 하나의 EntryWritten 이벤트 알림만 수신할 수 있음을 의미합니다. 에 대한 호출 사이에 충분히 긴 절전 간격(약 10초)을 WriteEntry삽입하면 이벤트를 놓칠 가능성이 줄어듭니다. 그러나 쓰기 이벤트가 더 자주 발생하는 경우 다음 간격까지 이벤트 알림을 받지 못할 수 있습니다. 일반적으로 누락된 이벤트 알림은 손실되지 않지만 지연됩니다.
적용 대상
추가 정보
.NET