語言

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

備註

要接收事件通知,必須設定 EnableRaisingEvents 為 true。 只有當條目在本地電腦上寫入時,你才能收到事件通知。 您無法接收遠端電腦撰寫的條目通知。

當你建立 EntryWritten 代理人時,你就能確定處理事件的方法。 要將事件與你的事件處理器關聯,請將該代理的實例加入事件中。 事件發生時會呼叫事件處理器,直到你移除代理。 欲了解更多關於與代表處理事件的資訊,請參閱 「處理與籌措事件」。

系統僅在最後一次寫入事件至少發生於六秒前時才會 WriteEntry 回應。 這表示即使有多個事件日誌變更,你在六秒內只會收到一次 EntryWritten 事件通知。 如果你在通話 WriteEntry之間插入足夠長的睡眠間隔(約10秒),你就比較不容易錯過任何事件。 然而,如果寫入事件發生得更頻繁,你可能要到下一個區間才會收到事件通知。 通常,錯過的事件通知不會遺失,而是延遲。

適用於

另請參閱