如何检索应用程序类别以外的事件日志?

url*_*der 2 c# event-log

我正在尝试检索与Application不同的类别中的某些事件日志.例如,我想获取"Microsoft-Windows-Application Server-Applications/Operational"中的信息.下面是我的代码

EventLog log = new EventLog("Microsoft-Windows-Application Server-Applications/Operational");
int index = log.Entries.Count - 1;
Debug.WriteLine(log.Entries[index].Message);
Run Code Online (Sandbox Code Playgroud)

但它总是显示错误:

The event log 'Microsoft-Windows-Application Server-Applications/Operational' on computer '.' does not exist.
Run Code Online (Sandbox Code Playgroud)

如果我只使用"应用程序",那么我可以在应用程序类别中获取日志.

如何获取"Microsoft-Windows-Application Server-Applications/Operational"的日志?

谢谢

在此输入图像描述

Mat*_*ewG 6

EventLog类只允许您访问Windows事件日志.您将希望使用命名空间中的EventLogReaderfound System.Diagnostics.Eventing.Reader.

        EventLogQuery query = new EventLogQuery("Microsoft-Windows-Application Server-Applications/Operational", PathType.LogName, "*");
        EventLogReader reader = new EventLogReader(query);
        EventRecord eventRecord;
        while ((eventRecord = reader.ReadEvent()) != null)
        {
            Console.WriteLine(String.Format("{0} - {1}",
                eventRecord.TimeCreated,
                eventRecord.FormatDescription()));
        }
Run Code Online (Sandbox Code Playgroud)