通过特定的方式读取Windows事件日志来源
答
使用EventLog Class考虑额外的软件。
事件日志可以访问或自定义 Windows事件日志,它记录关于重要的软件 或硬件事件 信息。使用EventLog, 可以读取现有日志,将 条目写入日志,创建或删除 事件源,删除日志,并且 对日志条目做出响应。您还可以在创建事件 源时创建新的日志 源。
+0
老兄,把一些示例代码如何得到事件按来源过滤,我会投票。最希望你也有资格获得新的正确答案 – ppumkin 2012-10-24 12:07:49
答
我知道这个问题是强大了,但我今天花了一个很好的协议的时间建立一个解决的办法,所以我想我会分享:
Dim myEventLogEntryCollection As EventLogEntryCollection = New EventLog("Application", System.Environment.MachineName).Entries
Dim myEventLogEntryArray(myEventLogEntryCollection.Count - 1) As EventLogEntry
myEventLogEntryCollection.CopyTo(myEventLogEntryArray, 0)
Dim QueryLog As System.Linq.IQueryable(Of EventLogEntry) = myEventLogEntryArray.AsQueryable
QueryLog = QueryLog.Where(Function(i As EventLogEntry) i.Source = "MyParticularSourceName")
For Each Entry As EventLogEntry In QueryLog
'... your code goes here
Next
myEventLogEntryCollection = Nothing
myEventLogEntryArray = Nothing
希望它可以帮助别人!
使用日志解析器的示例代码将使您的答案极其有用。尽管我宁愿使用内部System.Diagnostics来读取日志 - 其他人也许会觉得这很有用。如果你更新我会+1 – ppumkin 2012-10-24 12:10:07