读书人

求高人如何读取事件查看器中的数据?

发布时间: 2012-08-17 02:08:34 作者: rapoo

求高人,怎么读取事件查看器中的数据???谢谢指点
怎么将事件查看器中的关于应用程序日志,安全日志以及系统日志读取到数据库,给个大致的思路,有部分代码最好。谢谢指点~~~做系统要用的……

[解决办法]
用EventLog类
[解决办法]

C# code
System.Diagnostics.EventLog el = new System.Diagnostics.EventLog();            el.Log = "Application"; //or System, Security            el.Source = "TestApplication";            el.WriteEntry("this is a test", System.Diagnostics.EventLogEntryType.Error);
[解决办法]
从日志里读取信息,需要使用的是EventLog的Entries方法,该方法返回的是一个集合类EventLogEntryCollection的实例,在该集合类中储存的是EventLogEntry类的实例,该类中存储了日志里各记录的信息。可以用以下的程序来返回日志信息。

首先,要实例化一个EventLog类

EventLog sample=new EventLog();

和写入信息不同的是,我们在这需要指定从那个日志里读记录

sample.Log="Application";

指定的是应用程序日志,当然,可以选择别的日志,比如系统日志System,还有安全日志Security

声明一个EventLogEntryCollection类并给它赋值

EventLogEntryCollection myCollection=sample.Entries;

这样,应用程序日志里的信息都存放在了myCollection对象中,我们可以来读取其中的信息。

用foreach语句来访问myCollection中的所有EventLogEntry对象





foreach(EventLogEntry test in myCollection)

{

Console.WriteLine(test.Message,test.Source,test.EventID);

}

读书人网 >C#

热点推荐