TraceLoggingLevel 宏 (traceloggingprovider.h)
TraceLogging 包裝函式宏 ,可設定事件的層級。
語法
void TraceLoggingLevel(
[in] eventLevel
);
參數
[in] eventLevel
用來描述事件嚴重性或重要性的8位數位。 這個值必須是範圍 0 到 255 中的編譯時間常數。 如果未將 TraceLoggingLevel 自變數提供給 TraceLoggingWrite 呼叫,則事件的層級預設為 5 (WINEVENT_LEVEL_VERBOSE) 。
重要
ProviderId、Level 和 Keyword 是篩選事件的主要方法。 其他種類的篩選是可行的,但額外負荷較高。 一律將有意義的非零層級和關鍵詞指派給每個事件。
如需事件層級的詳細資訊 ,請參閱EVENT_DESCRIPTOR 。
傳回值
無
備註
TraceLoggingLevel(eventLevel)
可用來做為 TraceLoggingWrite 宏調用的參數,以設定事件的層級。 事件層級是篩選事件的主要方法。 一律將有意義的 (非零) 層級指派給每個事件。
如果未將 TraceLoggingLevel 宏提供給 TraceLoggingWrite 呼叫,事件的預設層級為 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) | 資訊 |
VERBOSE (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 |