EventLog.EntryWritten 事件

向本地计算机上的事件日志写入项时发生。

**命名空间:**System.Diagnostics
**程序集:**System(在 system.dll 中)

语法

声明
Public Event EntryWritten As EntryWrittenEventHandler
用法
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 支持使用事件,但不支持进行新的声明。

备注

若要获取事件通知,必须将 EnableRaisingEvents 设置为 true。只有在本地计算机上写入项时,才能接收事件通知。无法接收在远程计算机上写入项时的通知。

创建 EntryWritten 委托时,标识将处理事件的方法。若要使该事件与事件处理程序相关联,请将该委托的一个实例添加到事件中。每当事件出现时就调用事件处理程序,直到移除该委托。有关用委托处理事件的更多信息,请参见 使用事件

仅当上一个写入事件至少在五秒种之前发生时,系统才响应 WriteEntry。这意味着即使发生了多个事件日志更改,在五秒钟的间隔内也只会接收到一个 EntryWritten 事件通知。如果在 WriteEntry 调用之间插入足够长的休眠间隔(大约 10 秒),则不会丢失任何事件。然而,如果写入事件发生得更为频繁,则最新的写入事件可能会丢失。

示例

下面的示例处理一个项写入事件。

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 安全性

平台

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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

EventLog 类
EventLog 成员
System.Diagnostics 命名空间
EventLog.EnableRaisingEvents 属性