C# 按特定源读取windows事件日志

C# 按特定源读取windows事件日志,c#,.net,event-log,C#,.net,Event Log,如何按特定来源、日期时间和类别读取windows事件日志???您可以使用名为“”的其他软件 随附可使用的API,安装后请检查帮助文件:)考虑使用 事件日志允许您访问或自定义 Windows事件日志,其中记录 关于重要软件的信息 或硬件事件。使用事件日志, 您可以从现有日志中读取、写入 日志条目,创建或删除 事件源、删除日志和 响应日志条目。你也可以 创建事件时创建新日志 来源 我知道这个问题非常古老,但我今天花了很多时间来构建一个解决方案,所以我想与大家分享: Dim myEve

如何按特定来源、日期时间和类别读取windows事件日志???

您可以使用名为“”的其他软件

随附可使用的API,安装后请检查帮助文件:)

考虑使用

事件日志允许您访问或自定义 Windows事件日志,其中记录 关于重要软件的信息 或硬件事件。使用事件日志, 您可以从现有日志中读取、写入 日志条目,创建或删除 事件源、删除日志和 响应日志条目。你也可以 创建事件时创建新日志 来源


我知道这个问题非常古老,但我今天花了很多时间来构建一个解决方案,所以我想与大家分享:

        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