EventLog 使您可以访问或自定义 Windows 2000 事件日志,事件日志记录关于重要的软件或硬件事件的信息。通过 EventLog,可以读取现有日志,向日志中写入项,创建或删除事件源,删除日志,以及响应日志项。也可在创建事件源时创建新日志。

如果计算机上不存在调用 CreateEventSource 时指定的日志,系统会创建一个自定义日志并将您的应用程序注册为该日志的源。使用 EventLog 类从任何具有适当访问权限的事件日志中读取项或将项写入此事件日志。

注意   安全日志是只读的。
如果写入事件日志,必须指定或创建一个 Source 事件。Source 在事件日志中将您的应用程序注册为有效的项源。使用 Source 一次只能写入一个日志。Source 可以为任何随机字符串,但其名称必须不同于计算机上的其他源。源通常是应用程序或另一个标识字符串的名称。创建重复的 Source 值的尝试将引发异常。但是,单个事件日志可以与多个源关联。

若要从日志中读取,请为 EventLog 指定 Log 名称和 MachineName(服务器计算机名称)。不需要指定 Source,因为只有写入日志时才需要源。Entries 成员由事件日志的项列表自动填充。

注意   如果是通过指定 Log/ MachineName 对连接到日志,则不需要指定 MachineName。如果不指定 MachineName,则假定为本地计算机“.”。
写入事件日志时,可以指定与 message 参数一起发送的信息的类型。除了发送该信息,还可以发送一个 EventLogEntryType,以指示该信息的类型是错误、警告还是信息项。也可以指定要在事件查看器的“类型”和“分类”列中显示的应用程序定义的 eventId 和 category 参数。最后,如果需要使附加信息与给定事件关联,还可以将二进制数据附加到事件项。

除了访问个别的事件日志及其项外,EventLog 类还提供了对所有事件日志的集合的访问。可以使用 EventLog 的静态(在 Visual Basic 中为 Shared)成员删除日志、获取日志列表、创建或删除源或者确定计算机是否已经包含特定的源。

Windows 2000 有三个默认日志:应用程序、系统和安全性。已安装的其他应用程序和服务(如 Active Directory)可以有附加的事件日志。可使用 EventLog 创建可通过服务器的事件查看器查看的自定义事件日志。

事件日志占用磁盘空间、处理器时间和其他系统资源。仅记录基本信息很重要。建议将事件日志调用放在错误路径中,而不是放在主代码路径中,以免对性能造成不利影响。

using System;
using System.Diagnostics;
using System.Threading;
             
class MySample&leftsign;

    public static void Main()&leftsign;
   
        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource"))&leftsign;
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatingEventSource");
        &rightsign;
               
        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";
       
        // Write an informational entry to the event log.   
        myLog.WriteEntry("Writing to event log.");
       
    &rightsign;
&rightsign;

历史博文

标签:, ,
四月 6, 2005 at 8:39 上午 by yippee 1,084 次
Category: Info
Tags: , ,