Partager via


Définition des niveaux de gravité

Les niveaux sont utilisés pour regrouper des événements et indiquent généralement la gravité ou le détail d’un événement. Pour définir un niveau, utilisez l’élément level . Le fichier Winmeta.xml définit les niveaux de gravité couramment utilisés suivants :

  • win:Critical
  • win:Error
  • win:Warning
  • win:Informational
  • win:Verbose

Les consommateurs utilisent des niveaux pour interroger les événements qui contiennent une valeur de niveau spécifique. Une session de suivi ETW peut également utiliser des niveaux pour limiter les événements qui sont écrits dans le fichier journal de suivi des événements ; les événements dont la valeur de niveau est égale ou inférieure à la valeur de niveau spécifiée sont écrits dans le fichier journal. Par exemple, si la session a spécifié la valeur de niveau pour win:Warning, le fichier journal contient des événements d’avertissement, d’erreur et critiques.

L’exemple suivant montre comment définir un niveau. Vous devez spécifier le nom et les attributs de valeur du niveau. La valeur de l’attribut value doit être comprise entre 16 et 255. Les attributs de symbole et de message sont facultatifs.

<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>