.net下使用Windows环境事件出奇简单(比C++方式),下面说明基本用法:
1,从toolbox中拖拉一个EventLog组件到某种设计器,注意如果你的toolbox没有这个组件,请将先将System.Diagnostics.EventLog组件加入到toolbox面板中。
2,然后设置EventLog的属性,主要是log及source两个属性,source就是事件查看器的“来源”,log属性可取的值为"Application"/"Security"/"System",对应事件查看器列出的那几项,一般是“应用程序”、“安全性”及“系统”三种。
3,设置完毕,开始读写日志,在需要读写的地方,调用
this.eventLog1.WriteEntry("this is a test");//写一条日志
this.eventLog1.Entries();//读日志集合
foreach(EventLogEntry entry in this.eventLog1.Entries)
{
//any codes;
}

读写就这么简单。
4,另外EventLog组件还提供了一个事件,当写一条日志时触发。
那么EventLog组件还有什么功能呢?
我们刚才写入的日志条目都被加载到Windows本身的三种日志(应用程序、安全性、系统)里,如果觉得不方便可以自已另建一种日志。
EventLog组件提供丰富的日志管理功能,用户可以建立、销毁、改名某种自建立日志项,所有操作方法都是static修饰的。下列为新建立名为MyLoveLog的日志,建立后重新打开事件查看器能看到新增加的项。
if (!System.Diagnostics.EventLog.SourceExists("MyLoveLog"))
{
System.Diagnostics.EventLog.CreateEventSource("MyLoveLog", "MyLoveFile");
} 新增加的项名为MyLoveLog的日志,对应存储的文件名为MyLoveFile.evt。总之在事件查看器能进行的操作用EventLog组件也都可以操作。
因为Windows服务程序没有界面显示,一般都是用环境事件进行日志记载。


浙公网安备 33010602011771号