Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Tritt beim Schreiben eines Eintrags in das Ereignisprotokoll auf dem lokalen Computer ein.
Namespace: System.Diagnostics
Assembly: System (in system.dll)
Syntax
'Declaration
Public Event EntryWritten As EntryWrittenEventHandler
'Usage
Dim instance As EventLog
Dim handler As EntryWrittenEventHandler
AddHandler instance.EntryWritten, handler
public event EntryWrittenEventHandler EntryWritten
public:
event EntryWrittenEventHandler^ EntryWritten {
void add (EntryWrittenEventHandler^ value);
void remove (EntryWrittenEventHandler^ value);
}
/** @event */
public void add_EntryWritten (EntryWrittenEventHandler value)
/** @event */
public void remove_EntryWritten (EntryWrittenEventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.
Hinweise
Um Benachrichtigungen über Ereignisse abzurufen, müssen Sie EnableRaisingEvents auf true festlegen. Sie können Ereignisbenachrichtigungen nur empfangen, wenn Einträge auf dem lokalen Computer geschrieben werden. Sie können keine Benachrichtigungen über Einträge empfangen, die auf Remotecomputern geschrieben werden.
Beim Erstellen eines EntryWritten-Delegaten geben Sie die Methode für die Ereignisbehandlung an. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Auftreten des Ereignisses aufgerufen, bis Sie den Delegaten entfernen. Weitere Informationen über die Ereignisbehandlung mit Delegaten finden Sie unter Behandeln von Ereignissen.
Das System regiert nur dann auf WriteEntry, wenn das letzte Schreibeignis mindestens fünf Sekunden zurückliegt. Daher erhalten Sie innerhalb eines Intervalls von fünf Sekunden nur eine EntryWritten-Ereignisbenachrichtung, selbst dann, wenn das Protokoll häufiger geändert wurde. Wenn Sie genügend lange Pausen zwischen Aufrufen von WriteEntry einfügen (etwa 10 Sekunden), gehen keine Ereignisse verloren. Wenn die Schreibeignisse allerdings häufiger auftreten, können die aktuellsten Ereignisse verloren gehen.
Beispiel
Im folgenden Beispiel wird ein Ereignis für das Schreiben eines Eintrags behandelt.
Option Explicit On
Option Strict On
Imports System
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()
Dim myNewLog As New EventLog()
myNewLog.Log = "MyCustomLog"
AddHandler myNewLog.EntryWritten, AddressOf MyOnEntryWritten
myNewLog.EnableRaisingEvents = True
signal = New AutoResetEvent(False)
signal.WaitOne()
End Sub ' Main
Public Shared Sub MyOnEntryWritten(ByVal [source] As Object, ByVal e As EntryWrittenEventArgs)
signal.Set()
End Sub ' MyOnEntryWritten
End Class ' MySample
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(){
EventLog myNewLog = new EventLog();
myNewLog.Log = "MyCustomLog";
myNewLog.EntryWritten += new EntryWrittenEventHandler(MyOnEntryWritten);
myNewLog.EnableRaisingEvents = true;
signal = new AutoResetEvent(false);
signal.WaitOne();
}
public static void MyOnEntryWritten(object source, EntryWrittenEventArgs e){
signal.Set();
}
}
#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()
{
EventLog^ myNewLog = gcnew EventLog;
myNewLog->Log = "MyCustomLog";
myNewLog->EntryWritten += gcnew EntryWrittenEventHandler( MyOnEntryWritten );
myNewLog->EnableRaisingEvents = true;
signal = gcnew AutoResetEvent( false );
signal->WaitOne();
}
static void MyOnEntryWritten( Object^ /*source*/, EntryWrittenEventArgs^ /*e*/ )
{
signal->Set();
}
};
int main()
{
MySample::main();
}
import System.*;
import System.Diagnostics.*;
import System.Threading.*;
class MySample
{
// This member is used to wait for events.
private static AutoResetEvent signal;
public static void main(String[] args)
{
EventLog myNewLog = new EventLog();
myNewLog.set_Log("MyCustomLog");
myNewLog.add_EntryWritten(new EntryWrittenEventHandler(
MyOnEntryWritten));
myNewLog.set_EnableRaisingEvents(true);
signal = new AutoResetEvent(false);
signal.WaitOne();
} //main
private static void MyOnEntryWritten(Object source,
EntryWrittenEventArgs e)
{
signal.Set();
} //MyOnEntryWritten
} //MySample
.NET Framework-Sicherheit
- EventLogPermission für das Verwalten von Ereignisprotokollinformationen auf dem Computer. Zugeordnete Enumeration: EventLogPermissionAccess.Administer
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
EventLog-Klasse
EventLog-Member
System.Diagnostics-Namespace
EventLog.EnableRaisingEvents-Eigenschaft