traceLoggingLevel 宏 (traceloggingprovider.h)
TraceLogging 包装宏 ,用于设置事件的级别。
语法
void TraceLoggingLevel(
[in] eventLevel
);
参数
[in] eventLevel
用于描述事件的严重性或重要性的 8 位数字。 此值必须是 0 到 255 范围内的编译时常量。 如果未向 TraceLoggingWrite 调用提供 TraceLoggingLevel 参数,则事件的级别将默认为 5 (WINEVENT_LEVEL_VERBOSE) 。
重要
ProviderId、Level 和 Keyword 是筛选事件的主要方法。 其他类型的筛选是可能的,但开销要高得多。 始终为每个事件分配有意义的非零级别和关键字 (keyword) 。
有关事件级别的详细信息,请参阅 EVENT_DESCRIPTOR 。
返回值
无
备注
TraceLoggingLevel(eventLevel)
可用作 TraceLoggingWrite 宏调用的参数,以设置事件的级别。 事件级别是筛选事件的主要方法。 始终为每个事件分配有意义的 (非零) 级别。
如果未向 TraceLoggingWrite 调用提供 TraceLoggingLevel 宏,则事件的默认级别为 5 (WINEVENT_LEVEL_VERBOSE) 。 如果提供了多个 TraceLoggingLevel 宏,则使用最后一个值。
级别值 0 到 5 由 Microsoft (查看 evntrace.h
和 winmeta.h
) 定义。 级别值 6 到 15 由 Microsoft 保留,供将来定义。 级别值 16 到 255 可由事件提供程序定义。
值 | 语义 |
---|---|
LOG_ALWAYS (0) | 事件绕过基于级别的事件筛选。 事件不应使用此级别。 |
关键 (1) | 严重错误 |
错误 (2) | 错误 |
警告 (3) | 警告 |
INFO (4) | 信息 |
详细 (5) | 详细 |
事件集合会话可以设置级别筛选器,这意味着会话将仅接受其中 eventDescriptor.Level <= session.LevelFilter
的事件。 请注意,级别为 0 的事件将绕过基于级别的筛选。
示例
TraceLoggingWrite(
g_hMyProvider,
"MyWarningEventName",
TraceLoggingLevel(WINEVENT_LEVEL_WARNING), // Levels defined in <winmeta.h>
TraceLoggingKeyword(MyNetworkingKeyword), // Provider-defined keyword
TraceLoggingHResult(errorCode, "Error"));
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | traceloggingprovider.h |