Bagikan melalui


EventLog.EntryWritten Kejadian

Definisi

Terjadi ketika entri ditulis ke log peristiwa pada komputer lokal.

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

Jenis Acara

Contoh

Contoh berikut menangani peristiwa tertulis entri.

#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

Keterangan

Untuk mendapatkan pemberitahuan peristiwa, Anda harus mengatur EnableRaisingEvents ke true. Anda hanya dapat menerima pemberitahuan peristiwa ketika entri ditulis di komputer lokal. Anda tidak dapat menerima pemberitahuan untuk entri yang ditulis pada komputer jarak jauh.

Saat membuat EntryWritten delegasi, Anda mengidentifikasi metode yang akan menangani peristiwa. Untuk mengaitkan peristiwa dengan penanganan aktivitas Anda, tambahkan instans delegasi ke peristiwa. Penanganan aktivitas dipanggil setiap kali peristiwa terjadi, hingga Anda menghapus delegasi. Untuk informasi selengkapnya tentang menangani peristiwa dengan delegasi, lihat Menangani dan Meningkatkan Peristiwa.

Sistem hanya merespons WriteEntry jika peristiwa tulis terakhir terjadi setidaknya enam detik sebelumnya. Ini menyiratkan Anda hanya akan menerima satu EntryWritten pemberitahuan peristiwa dalam interval enam detik, bahkan jika terjadi lebih dari satu perubahan log peristiwa. Jika Anda menyisipkan interval tidur yang cukup lama (sekitar 10 detik) antara panggilan ke WriteEntry, Kemungkinan Anda tidak akan melewatkan suatu peristiwa. Namun, jika peristiwa tulis terjadi lebih sering, Anda mungkin tidak menerima pemberitahuan peristiwa hingga interval berikutnya. Biasanya, pemberitahuan peristiwa yang terlewat tidak hilang, tetapi tertunda.

Berlaku untuk

Lihat juga