【问题标题】:How do i get windows event log list by specific source C#如何通过特定源 C# 获取 Windows 事件日志列表
【发布时间】:2021-07-04 19:33:24
【问题描述】:

我想按特定来源获取包含事件日志的列表。例如展望

我正在尝试使用以下代码,但我正在获取所有应用程序事件日志。

有什么想法吗?

这是我的代码:

EventLog log = new EventLog("Application", computerName,specificSouarce);

【问题讨论】:

  • 你看过文档吗?
  • 是的,这就是我在那里看到的,我不明白为什么它不起作用。听起来不错

标签: c# windows event-log


【解决方案1】:

System.Diagnostics.Eventing.Reader怎么样:

var elQuery = new EventLogQuery("Application", PathType.LogName, "*[System/Provider/@Name=\"Outlook\"]");
using (var reader = new EventLogReader(elQuery))
{
    var eventRecord = reader.ReadEvent();
    try
    {
        for (; eventRecord != null; eventRecord = reader.ReadEvent())
        {
            // Do what you want on the event
            Console.WriteLine($"{eventRecord.TimeCreated}: {eventRecord.FormatDescription()}");
        }
    }
    finally
    {
        if (eventRecord != null)
            eventRecord.Dispose();
    }
}  

仅供参考:我开发了a GUI app,它可以按各种条件过滤事件日志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 2018-07-19
    • 2016-03-25
    相关资源
    最近更新 更多