C#中EventLog组件应用实例             
 EventLog组件
1.  功能
使用EventLog组件可以轻松地连接到本地和远程计算机上的事件日志,并向这些日志中写入项;也可以从现有日志中读取条目并创建自己的自定义事件日志;还可以使用“服务器资源管理器”查看有访问权限的任何服务器的事件日志列表。用户可以展开“服务器资源管理器”中的“事件日志”节点以查看当前存在的日志列表,以及已写入其中的事件。此外,还可以从“服务器资源管理器”中将某些特定事件日志拖放到设计器上,以创建EventLog组件的实例,该实例自动将其属性设置为指向选定的日志。图1所示为EventLog组件。

图1 EventLog组件
2.属性
EventLog组件的常用属性及说明如表1所示。

表1       EventLog组件常用属性及说明
下面对比较重要的属性进行详细介绍。
(1)Entries属性。该属性获取事件日志的内容。
语法:
                         public EventLogEntryCollection Entries { get; }            属性值:EventLogEntryCollection保留事件日志中的项。每个项均与EventLogEntry类的一个实例关联。
(2)Log属性。该属性获取或设置读取或写入的日志名称。
语法:
                         public string Log { get; set; }            属性值:日志的名称可以是Application、System和Security,或是一个自定义的日志名称。默认值为空字符串("")。
(3)Source属性。
语法:
                         public string Source { get; set; }            属性值:在事件日志中,注册为项源的名称。默认值为空字符串("")。
示例
Entries属性、Log属性和Source属性的使用
单击图2中的【创建日志】按钮会触发该按钮的Click事件,在该事件下,调用CreateEventSource方法创建一个自定义日志。

图2  日志操作
程序主要代码如下:
                         private void button1_Click(object sender, EventArgs e)
            {
            if (System.Diagnostics.EventLog.SourceExists("Source1"))
            {
            System.Diagnostics.EventLog.DeleteEventSource("Source1");
            }
            // Logs and Sources are created as a pair.
            System.Diagnostics.EventLog.CreateEventSource("Source1", "NewLog1");
            // Associate the EventLog component with the new log.
            eventLog1.Log = "NewLog1";
            eventLog1.Source = "Source1";
            this.eventLog1.MachineName = ".";
            MessageBox.Show("日志创建成功");
            }            当单击【写入日志】按钮时,将会触发该按钮的Click事件,在该事件下,调用WriteEntry方法,向自定义日志中写入内容。