EventLog 组件介绍

更新:2007 年 11 月

Microsoft Windows 中的事件记录提供了一种标准的、集中化的方式,您可用此方式让应用程序记录重要的软件和硬件事件。发生错误时,系统管理员或技术支持人员必须确定导致错误的原因,努力恢复所有丢失的数据,并防止此错误再次发生。如果应用程序、操作系统和其他系统服务能够记录重要事件,如内存不足或尝试访问磁盘失败,则会对解决问题很有帮助。系统管理员可利用事件日志帮助确定错误原因以及此错误出现的上下文。

Windows 提供了用以查看这些事件日志的一个标准用户界面,还提供了一个编程接口用以检查日志条目。在 Microsoft Visual Basic 6.0 版中,您可以对某些事件日志执行有限的写操作,但是不能轻松地读取可用的所有日志,或者与这些日志进行交互。

使用 EventLog 组件,可以轻松地连接到本地和远程计算机上的事件日志,并向这些日志中写入项。也可以从现有日志中读取条目并创建自己的自定义事件日志。

除了向事件日志中写入项以及读取事件日志中的项之外,还可以使用“服务器资源管理器”查看您有权访问的任何服务器的事件日志列表。可以展开“服务器资源管理器”中的“事件日志”节点,以查看当前存在的日志列表,以及已写入其中的事件。此外,还可以从“服务器资源管理器”中将某特定事件日志拖动到设计器上,以创建 EventLog 组件的实例,该实例自动将其属性设置为指向选定的日志。

说明:

此外,还可以使用 GetEventLogs 方法检索计算机上所有事件日志的列表。

说明:

有些安全限制会影响您使用事件日志的能力。有关更多信息,请参见事件日志的安全性细节

Windows 事件日志中的关键概念

如 Windows 中的定义那样,“事件”是指发生的任何需要通知用户的重要事情(无论是在操作系统中还是在应用程序中)。关键事件通过立即在屏幕上显示一条消息来发送给用户。其他事件通知写入一个“事件日志”中,事件日志记录此信息以便将来参考。每个事件日志条目都可以分类为以下几个类别之一:错误、警告、信息、成功审核或失败审核。

默认情况下,运行 Windows 2000 或 Windows NT 4.0 的计算机上有三个事件日志:

  • System 日志,它跟踪出现在系统组件上的事件(如驱动程序问题);

  • Security 日志,它跟踪安全性的变化和可能出现的违规;

  • Application 日志,它跟踪出现在已注册应用程序中的事件。

除这些日志外,其他程序,如 Active Directory,可以创建自己的默认日志。使用 System.Diagnostics 命名空间中的语言功能,还可以创建自己的自定义日志。

写入事件日志的事件与特定“源”关联。新源是在向事件日志中写入项之前创建的。使用 EventLogInstaller 对象或 CreateEventSource 方法,可以配置新源。若要创建新的事件源,您必须在计算机上拥有管理员权限。可以使用事件类别和消息字符串的本地化资源来注册事件源。应用程序可以使用资源标识符而不是通过指定实际字符串值来写入事件日志项。有关使用资源文件配置事件源的更多信息,请参见 EventLogInstallerEventSourceCreationData 类。

选择要记录的事件

下面这些示例中,事件记录是很有帮助的:

  • 资源问题。如果一个应用程序处于低内存状态(由于代码 bug 或内存不足)并导致性能降低,则在内存分配失败时记录一个警告事件可以提供出错原因的线索。

  • 信息事件。基于服务器的应用程序(如数据库服务器)记录用户登录、打开数据库或启动文件传输这样的信息。此服务器还可以记录它遇到的错误事件,如无法访问文件、主机进程断开等等;此外它还能记录数据库中的数据损坏以及文件传输是否成功等。

事件记录要占用资源,如磁盘空间和处理器时间。事件日志需要的磁盘空间和应用程序记录事件的系统开销取决于您选择记录的信息量。所以应只记录重要信息,这一点很重要。另外,最好将事件日志调用放在代码中的错误路径而非主代码路径中,以免降低性能。

请参见

任务

演练:浏览事件日志、事件源和项

概念

事件日志条目类型

事件日志参考

EventLog 编程结构

参考

EventLog