重大度レベルの定義
レベルはイベントをグループ化するために使用され、通常はイベントの重大度または詳細度を示します。 レベルを定義するには、 level 要素を使用します。 Winmeta.xml ファイルは、一般的に使用される次の重大度レベルを定義します。
- win:Critical
- win:Error
- win:Warning
- win:Informational
- win:Verbose
コンシューマーは、レベルを使用して、特定のレベル値を含むイベントのクエリを実行します。 ETW トレース セッションでは、レベルを使用して、イベント トレース ログ ファイルに書き込まれるイベントを制限することもできます。指定したレベル値以下のレベル値を持つイベントがログ ファイルに書き込まれます。 たとえば、セッションで win:Warning のレベル値を指定した場合、ログ ファイルには警告、エラー、重大なイベントが含まれます。
次の例は、レベルを定義する方法を示しています。 レベルの 名前 と 値 の属性を指定する必要があります。 value 属性の値は、16 から 255 の範囲である必要があります。 シンボル属性とメッセージ属性は省略可能です。
<instrumentationManifest
xmlns="http://schemas.microsoft.com/win/2004/08/events"
xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<instrumentation>
<events>
<provider name="Microsoft-Windows-SampleProvider"
guid="{1db28f2e-8f80-4027-8c5a-a11f7f10f62d}"
symbol="PROVIDER_GUID"
resourceFileName="<path to the exe or dll that contains the metadata resources>"
messageFileName="<path to the exe or dll that contains the string resources>"
message="$(string.Provider.Name)">
. . .
<levels>
<level name="NotValid"
value="16"
symbol="LEVEL_SAMPLEPROVIDER_NOTVALID"
message="$(string.Level.NotValid)"/>
<level name="Valid"
value="17"
symbol="LEVEL_SAMPLEPROVIDER_VALID"
message="$(string.Level.Valid)"/>
</levels>
. . .
</provider>
</events>
</instrumentation>
<localization>
<resources culture="en-US">
<stringTable>
<string id="Provider.Name" value="Sample Provider"/>
<string id="Level.Valid" value="Valid"/>
<string id="Level.NotValid" value="Not Valid"/>
</stringTable>
</resources>
</localization>
</instrumentationManifest>