Definizione dei livelli di gravità
I livelli vengono usati per raggruppare gli eventi e in genere indicano la gravità o la verbosità di un evento. Per definire un livello, usare l'elemento level . Il file Winmeta.xml definisce i livelli di gravità comunemente usati:
- win:Critical
- win:Error
- win:Warning
- win:Informational
- win:Verbose
I consumer usano i livelli per eseguire query per gli eventi che contengono un valore di livello specifico. Una sessione di traccia ETW può anche usare i livelli per limitare gli eventi scritti nel file di log di traccia eventi; gli eventi con un valore di livello uguale o inferiore al valore del livello specificato vengono scritti nel file di log. Ad esempio, se la sessione ha specificato il valore di livello per win:Warning, il file di log contiene avvisi, errori e eventi critici.
Nell'esempio seguente viene illustrato come definire un livello. È necessario specificare il nome e gli attributi del valore del livello. Il valore dell'attributo value deve trovarsi nell'intervallo compreso tra 16 e 255. Gli attributi dei simboli e dei messaggi sono facoltativi.
<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>