EventLog 类【转】

EventLog 类提供了C#与Windows事件日志交互的功能。  很多时候我们可以把日志写到windows事件日志中.

说明:EventLog 使您可以访问或自定义Windows 事件日志。通过C#提供的EventLog类,可以读取现有日志,向日志中写入项,创建或删除事件源,删除日志,以及响应日志项。也可在创建事件源时创建新日志。

打开Windows事件日志的方法

右击我的电脑->管理->事件日志就可以了.

CreateEventSource
已重载。 建立一个能够将事件信息写入到系统的特定日志中的应用程序。


Delete
已重载。 移除日志资源。


DeleteEventSource
已重载。 从事件日志中移除应用程序的事件源注册。

SourceExist
已重载。 在计算机的注册表中搜索给定的事件源。


WriteEntry
已重载。 将项写入事件日志。


WriteEvent
已重载。 向事件日志写入本地化事件项。

为了能够使用EventLog,我们需要引入usingSystem.Diagnostics命令空间.下面两个方法在你捕获到异常或其他时可以调用.

private void WriteError(string sText)
{
     if (!EventLog.SourceExists(sEventSource))
             EventLog.CreateEventSource(sEventSource, sEventLog);
          EventLog.WriteEntry(sEventSource,sText, EventLogEntryType.Error);

}

private void WriteInfo(string sText)
{
       if (!EventLog.SourceExists(sEventSource))
           EventLog.CreateEventSource(sEventSource, sEventLog);
        EventLog.WriteEntry(sEventSource,sText, EventLogEntryType.Information);       
}

 

下面是一个简单使用的例子.

try

{

if(1/0);

}

catch(Excepetion ex)

{

WriteError(ex.message);

}

这样我们就可以成功的写入到Windows事件中..:)

EventLog(事件日志)的读写方法

在C#中读写EventLog(事件日志)挺简单的,代码量也比较小。

1.加入System.DiagnosticsName Space;

using System.Diagnostics;

2.声明一个EventLog类的实例。

EventLog eventLog;
eventLog=new EventLog("TestEvent",".","mySource");

"TestEvent"是建立一个新的EventLog名,
".": 表示本机
"mySource": 源名
如果以上不设参数,就默认为"Application"

设好以后,就可以读写了。

写:

eventLog.Source="mySource";
eventLog.WriteEntry("Log text");
MessageBox.Show("Write Complete!")


读:

lstEvent.Items.Clear();
eventLog.Log="TestEvent";
foreach(EventLogEntry eventlogEntry in eventLog.Entries)
{
lstEvent.Items.Add(eventlogEntry.Message);
}

 

posted @ 2011-01-01 22:25  smodi  阅读(541)  评论(0编辑  收藏  举报