WEB开发网
开发学院软件开发C语言 C#3.0杂谈(1):使用EventLog类写Windows事件日志... 阅读

C#3.0杂谈(1):使用EventLog类写Windows事件日志

 2009-02-26 08:18:43 来源:WEB开发网   
核心提示: 在执行上面的代码后,向System事件写入的日志如下图所示,C#3.0杂谈(1):使用EventLog类写Windows事件日志(3),图片看不清楚?请点击这里查看原图(大图), 我们也可以通过EventLog类的添加自己的事件,可以在事件属性对话框(在事件右键菜单中选择“

在执行上面的代码后,向System事件写入的日志如下图所示。

C#3.0杂谈(1):使用EventLog类写Windows事件日志

图片看不清楚?请点击这里查看原图(大图)。

  我们也可以通过EventLog类的添加自己的事件,代码如下:

EventLog log = new EventLog("MyEvent");
//  首先应判断日志来源是否存在,一个日志来源只能同时与一个事件绑定s
if(!EventLog.SourceExists("New Application"))
    EventLog.CreateEventSource("New Application", "MyEvent");
try
{
    log.Source = "New Applications";
    log.WriteEntry("处理信息1", EventLogEntryType.Information);
    log.WriteEntry("处理信息2", EventLogEntryType.Information);
    throw new System.IO.FileNotFoundException("readme.txt文件未找到");
}
catch (System.IO.FileNotFoundException exception)
{
    log.WriteEntry(exception.Message, EventLogEntryType.Error);
}

上面的代码添加了一个MyEvent事件,添加后的事件查看器界面如下图所示。

C#3.0杂谈(1):使用EventLog类写Windows事件日志

图片看不清楚?请点击这里查看原图(大图)。

从上图可以看出,左侧的事件查看器中多了个MyEvent事件。

我们还可以使用EventLog类来枚举指定事件中的日志,如下面的代码所示:

if (EventLog.Exists("MyEvent"))
{
    EventLog log = new EventLog("MyEvent");
    foreach (EventLogEntry entry in log.Entries)
    {
        textBox1.Text += entry.Message + ":";
    }
}

上面的代码枚举了刚才建立的MyEvent事件中的所有日志,并输出了每一个日志的信息(就是WriteEntry方法的第一个参数指定的信息)。除此之外,我们还可以使用Delete方法删除指定的事件,使用DeleteEventSource方法删除日志源。

在写入Windows事件日志时要注意,如果事件日志文件已满,可以在事件属性对话框(在事件右键菜单中选择“属性”菜单项会弹出该对话框)中增加日志文件的大小,或清空当前事件中的日志。事件属性对话框如下图所示。

C#3.0杂谈(1):使用EventLog类写Windows事件日志

上一页  1 2 3 

Tags:杂谈 使用 EventLog

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接