阅读 vb.net 中的事件日志详细信息
read event log detail in vb.net
我目前正在编写一个应用程序,其中一部分将从 windows 事件日志中抓取一些信息,它大部分都有效....
Dim strValue As String
Dim objLogs() As EventLog
Dim Logname As String = "Application"
Dim objEntry As EventLogEntry
Dim objLogEntry As EventLogEntry
Dim objLog As EventLog
objLogs = EventLog.GetEventLogs()
For Each objLog In objLogs
If objLog.LogDisplayName = Logname Then
For Each objLogEntry In objLog.Entries
WriteLine("EventID")
WriteLine("Machinename")
WriteLine("message")
Next
Exit For
End If
Next
这将愉快地写出EventID、机器名称和事件消息。
details tab in event viewer
我想不通的是如何将事件查看器理想中的 "details" 选项卡输出为字符串或类似内容。
MSDN 没有帮助,有人能给我指出正确的方向吗?
提前致谢,
看起来 EventLogEntry 中的详细信息由存储为字节数组的数据 属性 表示。您将不得不将其转换为可读的内容。但是数据的格式似乎在 Windows OS 版本上有所不同。
这是另一种方法。从以下问题的答案复制代码并转换为 VB.Net.
Serializing a .NET EventLogEntry instance to XML
Imports System.Diagnostics.Eventing.Reader
Sub Main()
Dim query As New EventLogQuery("System", PathType.LogName)
Dim watcher As New EventLogWatcher(query)
AddHandler watcher.EventRecordWritten, AddressOf watcher_EventRecordWritten
watcher.Enabled = True
Console.ReadLine()
End Sub
Public Sub watcher_EventRecordWritten(sender As Object, e As EventRecordWrittenEventArgs)
Console.WriteLine(e.EventRecord.ToXml())
End Sub
放入一个简单控制台应用程序的主模块和一个监视系统事件的模块。将转换为 XML 的事件数据作为一个长字符串写出。
在 Windows 7 机器上使用 4.5 框架工作。
我目前正在编写一个应用程序,其中一部分将从 windows 事件日志中抓取一些信息,它大部分都有效....
Dim strValue As String
Dim objLogs() As EventLog
Dim Logname As String = "Application"
Dim objEntry As EventLogEntry
Dim objLogEntry As EventLogEntry
Dim objLog As EventLog
objLogs = EventLog.GetEventLogs()
For Each objLog In objLogs
If objLog.LogDisplayName = Logname Then
For Each objLogEntry In objLog.Entries
WriteLine("EventID")
WriteLine("Machinename")
WriteLine("message")
Next
Exit For
End If
Next
这将愉快地写出EventID、机器名称和事件消息。 details tab in event viewer
我想不通的是如何将事件查看器理想中的 "details" 选项卡输出为字符串或类似内容。
MSDN 没有帮助,有人能给我指出正确的方向吗?
提前致谢,
看起来 EventLogEntry 中的详细信息由存储为字节数组的数据 属性 表示。您将不得不将其转换为可读的内容。但是数据的格式似乎在 Windows OS 版本上有所不同。
这是另一种方法。从以下问题的答案复制代码并转换为 VB.Net.
Serializing a .NET EventLogEntry instance to XML
Imports System.Diagnostics.Eventing.Reader
Sub Main()
Dim query As New EventLogQuery("System", PathType.LogName)
Dim watcher As New EventLogWatcher(query)
AddHandler watcher.EventRecordWritten, AddressOf watcher_EventRecordWritten
watcher.Enabled = True
Console.ReadLine()
End Sub
Public Sub watcher_EventRecordWritten(sender As Object, e As EventRecordWrittenEventArgs)
Console.WriteLine(e.EventRecord.ToXml())
End Sub
放入一个简单控制台应用程序的主模块和一个监视系统事件的模块。将转换为 XML 的事件数据作为一个长字符串写出。
在 Windows 7 机器上使用 4.5 框架工作。