EventLog.EntryWritten Událost

Definice

Vyvolá se v případě, že je položka zapsána do protokolu událostí v místním počítači.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 

Event Type

EntryWrittenEventHandler

Příklady

Následující příklad zpracovává zápis zapsané události.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

Poznámky

Chcete-li získat oznámení o události, je nutné nastavit EnableRaisingEvents na true .To get event notifications, you must set EnableRaisingEvents to true. Oznámení o události lze přijímat pouze v případě, že jsou záznamy zapisovány do místního počítače.You can only receive event notifications when entries are written on the local computer. Nemůžete dostávat oznámení pro záznamy napsané na vzdálených počítačích.You cannot receive notifications for entries written on remote computers.

Při vytváření EntryWritten delegáta identifikujete metodu, která událost zpracuje.When you create an EntryWritten delegate, you identify the method that will handle the event. Chcete-li přidružit událost k obslužné rutině události, přidejte do události instanci delegáta.To associate the event with your event handler, add an instance of the delegate to the event. Obslužná rutina události je volána vždy, když dojde k události, dokud neodeberete delegáta.The event handler is called whenever the event occurs, until you remove the delegate. Další informace o zpracování událostí s delegáty naleznete v tématu manipulace a vyvolávání událostí.For more information about handling events with delegates, see Handling and Raising Events.

Systém odpoví pouze v WriteEntry případě, že poslední událost zápisu nastala alespoň šest sekund.The system responds to WriteEntry only if the last write event occurred at least six seconds previously. To znamená, že dostanete jenom jedno EntryWritten oznámení o události v intervalu šesti sekund, a to i v případě, že dojde k více než jedné změně protokolu událostí.This implies you will only receive one EntryWritten event notification within a six-second interval, even if more than one event log change occurs. Pokud vložíte dostatečně dlouhou dobu spánku (přibližně 10 sekund) mezi voláními do WriteEntry , je méně pravděpodobný, když nebudete chtít událost přijít.If you insert a sufficiently long sleep interval (around 10 seconds) between calls to WriteEntry, you are less likely to miss an event. Pokud však dojde k události zápisu častěji, nemůžete obdržet oznámení o události do dalšího intervalu.However, if write events occur more frequently, you might not receive the event notification until the next interval. Nezmeškaných oznámení událostí se obvykle neztratí, ale zpoždění.Typically, missed event notifications are not lost, but delayed.

Platí pro

Viz také