EventLog.EntryWritten Zdarzenie

Definicja

Występuje, gdy wpis jest zapisywana w dzienniku zdarzeń na komputerze lokalnym.Occurs when an entry is written to an event log on the local computer.

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

Typ zdarzenia

EntryWrittenEventHandler

Przykłady

Poniższy przykład obsługuje zdarzenie zapisywane w zapisie.The following example handles an entry written event.

#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

Uwagi

Aby otrzymywać powiadomienia o zdarzeniach, należy ustawić wartość EnableRaisingEvents true .To get event notifications, you must set EnableRaisingEvents to true. Powiadomienia o zdarzeniach można odbierać tylko wtedy, gdy wpisy są zapisywane na komputerze lokalnym.You can only receive event notifications when entries are written on the local computer. Nie można odbierać powiadomień dotyczących wpisów zapisanych na komputerach zdalnych.You cannot receive notifications for entries written on remote computers.

Podczas tworzenia EntryWritten delegata należy określić metodę, która będzie obsługiwać zdarzenie.When you create an EntryWritten delegate, you identify the method that will handle the event. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, Dodaj wystąpienie delegata do zdarzenia.To associate the event with your event handler, add an instance of the delegate to the event. Procedura obsługi zdarzeń jest wywoływana za każdym razem, gdy wystąpi zdarzenie, do momentu usunięcia delegata.The event handler is called whenever the event occurs, until you remove the delegate. Aby uzyskać więcej informacji na temat obsługi zdarzeń z delegatami, zobacz Obsługa iwywoływanie zdarzeń.For more information about handling events with delegates, see Handling and Raising Events.

System reaguje na WriteEntry tylko wtedy, gdy ostatnie zdarzenie zapisu wystąpiło co najmniej sześć sekund.The system responds to WriteEntry only if the last write event occurred at least six seconds previously. Oznacza to, że tylko jedno EntryWritten powiadomienie o zdarzeniu zostanie odebrane w ciągu sześciu sekund, nawet jeśli wystąpi więcej niż jedna zmiana w dzienniku zdarzeń.This implies you will only receive one EntryWritten event notification within a six-second interval, even if more than one event log change occurs. W przypadku wstawienia wystarczająco długiego interwału uśpienia (około 10 sekund) między wywołaniami do WriteEntry , zmniejszanie może pominąć zdarzenie.If you insert a sufficiently long sleep interval (around 10 seconds) between calls to WriteEntry, you are less likely to miss an event. Jeśli jednak zdarzenia zapisu pojawiają się częściej, użytkownik może nie otrzymać powiadomienia o zdarzeniu do następnego interwału.However, if write events occur more frequently, you might not receive the event notification until the next interval. Zazwyczaj pominięte powiadomienia o zdarzeniach nie są tracone, ale są opóźnione.Typically, missed event notifications are not lost, but delayed.

Dotyczy

Zobacz też