我试图找出如何在vb.net中查询PrintService操作日志。我不是试图写它,而是在vb.net中从中读取。如果我只查询“应用程序”日志,这就是我到目前为止可以使用的内容
Dim logInfo As System.Diagnostics.EventLog = New System.Diagnostics.EventLog()
logInfo.Log = "Application"
logInfo.MachineName = "."
Dim strImage As String = ""
Response.Write("<p>There are " & logInfo.Entries.Count & " entries in the System event log.</p>")
但是。.我正在尝试访问Microsoft.Windows.PrintService.Operational日志。您不能访问它,还是我的语法错误?我尝试过的是
logInfo.log= "Microsoft.Windows.PrintService.Operational"
和
logInfo.log= "Microsoft-Windows-PrintService/Operational"
都给了我
System.InvalidOperationException HResult = 0x80131509 Message =计算机“。”上的事件日志“ Microsoft.Windows.PrintService.Operational”。不存在。 来源= App_Web_dxkz1kso 堆栈跟踪: 在C:\ Dev \ WebAdminV2 \ Pages \ SampleCode \ ConnectToEventLog.aspx.vb:第17行
中的Pages_SampleCode_ConnectToEventLog.Pages_SampleCode_ConnectToEventLog_Load(Object sender,EventArgs e)
有什么想法吗? 谢谢
吉米-确实尝试过。.我认为您的建议是..代码看起来像这样
Dim eventID As String = "307"
Dim logSource As String = "Microsoft-Windows-PrintService/Operational"
Dim sQuery As String = String.Format("*[System/EventID={0}]", eventID)
Dim elQuery = New EventLogQuery(logSource, PathType.LogName, sQuery)
Dim elReader = New System.Diagnostics.Eventing.Reader.EventLogReader(elQuery)
Dim eventList As List(Of EventRecord) = New List(Of EventRecord)()
Dim eventInstance As EventRecord = elReader.ReadEvent()
While eventInstance IsNot Nothing
eventList.Add(eventInstance)
eventInstance = elReader.ReadEvent()
End While
我没有收到任何错误,但是当它发生时,eventInstance并非全无,而是全无。我还没有想出要告诉它的位置,我也想知道它在我的本地计算机上的样子..而且日志中还有条目。
以防万一其他人有兴趣..我想我已经读过日志了。.许多方面还没有弄清楚..但是这看起来像是它会读日志..这是唯一运行的代码..仅这三行
Dim query As EventLogQuery = New EventLogQuery("Microsoft-Windows-PrintService/Operational", PathType.LogName)
query.ReverseDirection = True
Dim reader As EventLogReader = New EventLogReader(query)
enter code here