首页 > 解决方案 > EventLog Reader 忽略 C# 中的系统事件跟踪

问题描述

我使用事件日志编写了一些日志,并想在 c# 中使用 EventlogReader 读取它。如何忽略这些日志中的系统事件。在c++中,在evntrace.h中定义了EventTraceGuid和EVENT_TRACE_TYPE_INFO,可以用来过滤系统事件日志,其中EventTraceGuid等于{68fdd900-4a3e-11d1-84f4-0000f80464e3},EVENT_TRACE_TYPE_INFO等于0。c#中有没有类似的?

//c++
if (IsEqualGUID(record->EventHeader.ProviderId, EventTraceGuid)
        && record->EventHeader.EventDescriptor.Opcode == EVENT_TRACE_TYPE_INFO)
{
    return; // Skip this event.
}
//c#
using (var reader = new EventLogReader(filename, PathType.FilePath))
{
    EventRecord record;
    while ((record = reader.ReadEvent()) != null)
    {
        //how to filter record here?

     }
}

标签: c#traceetw

解决方案


推荐阅读