Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet élément définit les paramètres des fonctionnalités de journalisation des messages de Windows Communication Foundation (WCF).
<configuration>
<system.serviceModel>
<diagnostics>
<messageLogging>
Syntaxe
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="Boolean"
logMalformedMessages="Boolean"
logMessagesAtServiceLevel="Boolean"
logMessagesAtTransportLevel="Boolean"
maxMessagesToLog="Integer"
maxSizeOfMessageToLog="Integer">
<filters>
<clear />
</filters>
</messageLogging>
</diagnostics>
</system.serviceModel>
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributes
| Caractéristique | Descriptif |
|---|---|
logEntireMessage |
Valeur booléenne qui spécifie si l’intégralité du message (en-tête et corps du message) est journalisée. La valeur par défaut est false, ce qui signifie que seul l’en-tête de message est journalisé. Ce paramètre affecte tous les niveaux de journalisation des messages (service, transport et mal formés). |
logMalformedMessages |
Valeur booléenne qui spécifie si les messages mal formés sont enregistrés. Les messages mal formés ne comptent pas vers le maxMessagesToLog. La valeur par défaut est false. |
logMessagesAtServiceLevel |
Valeur booléenne qui spécifie si les messages sont suivis au niveau du service (avant les transformations liées au chiffrement et au transport). La valeur par défaut est false. |
logMessagesAtTransportLevel |
Valeur booléenne qui spécifie si les messages sont suivis au niveau du transport. Tous les filtres spécifiés dans le fichier de configuration sont appliqués et seuls les messages correspondant aux filtres sont suivis. La valeur par défaut est false. |
maxMessagesToLog |
Entier positif qui spécifie le nombre maximal de messages à consigner. La valeur par défaut est 1000. |
maxSizeOfMessageToLog |
Entier positif qui spécifie la taille maximale, en octets, d’un message à consigner. Les messages supérieurs à la limite ne seront pas enregistrés. Ce paramètre affecte tous les niveaux de trace. La valeur par défaut est 262144(0x4000). |
Éléments enfants
| Élément | Descriptif |
|---|---|
| filters | L’élément filters contient une collection de filtres XPath. Lorsque la journalisation des messages de transport est activée (logMessagesAtTransportLevel est true), seuls les messages correspondant aux filtres sont enregistrés.Les filtres sont appliqués uniquement au niveau de la couche de transport. Le niveau de service et la journalisation des messages mal formés ne sont pas affectés par les filtres. Le seul attribut de cet élément, est filterun XpathFilter.<filters> <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">/soap:Envelope</add> </filters> |
Éléments parents
| Élément | Descriptif |
|---|---|
| diagnostics | Définit les paramètres WCF pour l’inspection et le contrôle du runtime pour l’administrateur. |
Remarques
Les messages sont enregistrés à trois niveaux différents dans la pile : service, transport et mal formés. Chaque niveau peut être activé séparément.
Les filtres XPath peuvent être ajoutés pour consigner des messages spécifiques aux niveaux de transport et de service. Si aucun filtre n’est défini, tous les messages sont enregistrés. Les filtres sont appliqués uniquement aux en-têtes du message. Le corps est ignoré. WCF ignore le corps du message pour améliorer les performances. Si vous souhaitez filtrer en fonction du contenu du corps, vous pouvez créer un écouteur personnalisé avec un filtre qui le fait.
Vous devez créer un écouteur de suivi pour activer le suivi des messages. L’écouteur lui-même peut être n’importe quel écouteur qui fonctionne avec l’architecture de System.Diagnostics suivi. L’exemple suivant montre comment créer un tel écouteur.
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Verbose">
<listeners>
<clear />
<add type="System.Diagnostics.DefaultTraceListener"
name="Default"
traceOutputOptions="None" />
<add name="ServiceModel Listener"
traceOutputOptions="None" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<clear />
<add type="System.Diagnostics.DefaultTraceListener"
name="Default"
traceOutputOptions="None" />
<add name="MessageLogging Listener"
traceOutputOptions="None" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\ItProTools\TraceLog.xml"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModel Listener"
traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
<add initializeData="C:\ItProTools\MessageLog.log"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="MessageLogging Listener"
traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
</sharedListeners>
</system.diagnostics>
Example
<messageLogging logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="42"
maxSizeOfMessageToLog="42">
<filters>
<clear />
</filters>
</messageLogging>