XmlWriterTraceListener Classe

Définition

Dirige la sortie de traçage ou de débogage sous la forme de données encodées XML vers TextWriter ou Stream, telle que FileStream.

public ref class XmlWriterTraceListener : System::Diagnostics::TextWriterTraceListener
public class XmlWriterTraceListener : System.Diagnostics.TextWriterTraceListener
type XmlWriterTraceListener = class
    inherit TextWriterTraceListener
Public Class XmlWriterTraceListener
Inherits TextWriterTraceListener
Héritage

Exemples

L’exemple de code suivant montre l’utilisation de la classe pour écrire à la XmlWriterTraceListener fois des données en échappement et non dans des journaux de fichiers.

using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Diagnostics;

class testClass
{
    static void Main()
    {
        File.Delete("NotEscaped.xml");
        TraceSource ts = new TraceSource("TestSource");
        ts.Listeners.Add(new XmlWriterTraceListener("NotEscaped.xml"));
        ts.Switch.Level = SourceLevels.All;
        string testString = "<Test><InnerElement Val=\"1\" /><InnerElement Val=\"Data\"/><AnotherElement>11</AnotherElement></Test>";
        XmlTextReader myXml = new XmlTextReader(new StringReader(testString));
        XPathDocument xDoc = new XPathDocument(myXml);
        XPathNavigator myNav = xDoc.CreateNavigator();
        ts.TraceData(TraceEventType.Error, 38, myNav);

        ts.Flush();
        ts.Close();

        File.Delete("Escaped.xml");
        TraceSource ts2 = new TraceSource("TestSource2");
        ts2.Listeners.Add(new XmlWriterTraceListener("Escaped.xml"));
        ts2.Switch.Level = SourceLevels.All;
        ts2.TraceData(TraceEventType.Error, 38, testString);

        ts2.Flush();
        ts2.Close();
    }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Diagnostics



Class testClass
    
    Shared Sub Main() 
        File.Delete("NotEscaped.xml")
        Dim ts As New TraceSource("TestSource")
        ts.Listeners.Add(New XmlWriterTraceListener("NotEscaped.xml"))
        ts.Switch.Level = SourceLevels.All
        Dim testString As String = "<Test><InnerElement Val=""1"" /><InnerElement Val=""Data""/><AnotherElement>11</AnotherElement></Test>"
        Dim myXml As New XmlTextReader(New StringReader(testString))
        Dim xDoc As New XPathDocument(myXml)
        Dim myNav As XPathNavigator = xDoc.CreateNavigator()
        ts.TraceData(TraceEventType.Error, 38, myNav)

        ts.Flush()
        ts.Close()
        
        File.Delete("Escaped.xml")
        Dim ts2 As New TraceSource("TestSource2")
        ts2.Listeners.Add(New XmlWriterTraceListener("Escaped.xml"))
        ts2.Switch.Level = SourceLevels.All
        ts2.TraceData(TraceEventType.Error, 38, testString)
        
        ts2.Flush()
        ts2.Close()
    
    End Sub
End Class

Remarques

Notes

Vous devez disposer de l’autorisation de code non managé pour créer un instance de la XmlWriterTraceListener classe.

La XmlWriterTraceListener classe convertit les informations de suivi et de débogage en un flux de texte encodé en XML. La description de la sortie XML est indiquée dans les tableaux qui suivent. Vous pouvez utiliser l’outil Visionneuse de trace de service (SvcTraceViewer.exe) pour afficher la sortie XML.

Vous pouvez créer un XmlWriterTraceListener dans votre code. Pour les applications .NET Framework, vous pouvez également activer ou désactiver un via le fichier de configuration de XmlWriterTraceListener l’application, puis utiliser le configuré XmlWriterTraceListener dans votre application. Pour configurer un XmlWriterTraceListener, modifiez le fichier de configuration qui correspond au nom de votre application. Dans ce fichier, vous pouvez ajouter ou supprimer un écouteur, définir les propriétés d’un écouteur ou supprimer des écouteurs. Le fichier de configuration doit être mis en forme comme dans l’exemple suivant.

<configuration>  
  <system.diagnostics>  
    <trace autoflush="false" indentsize="4">  
      <listeners>  
        <add name="xmlListener"   
          type="System.Diagnostics.XmlWriterTraceListener"   
          initializeData="xmlOutput.xml"   
          traceOutputOptions="ProcessId, DateTime" />  
        <remove name="Default" />  
      </listeners>  
    </trace>  
  </system.diagnostics>  
</configuration>  

La XmlWriterTraceListener classe hérite de la Filter propriété de la classe TraceListenerde base . La Filter propriété autorise un niveau supplémentaire de filtrage de sortie de trace au niveau de l’écouteur. S’il existe un filtre présent, les Trace méthodes de l’écouteur de trace appellent la ShouldTrace méthode du filtre pour déterminer s’il faut émettre la trace.

Notes

Si une tentative d’écriture est effectuée dans un fichier en cours d’utilisation ou non disponible, le nom de fichier est automatiquement préfixé par un GUID.

Notes

Les méthodes d’écouteur sont destinées à être appelées par les Debugméthodes des classes , Traceet TraceSource . Les méthodes de l’écouteur ne sont pas destinées à être appelées directement à partir du code d’application. L’écouteur XmlWriterTraceListener est principalement destiné à être utilisé par la TraceSource classe . Les Write méthodes et WriteLine peuvent être appelées par les Trace classes et Debug , et les valeurs par défaut sont fournies pour les éléments XML pour ant qui TraceDebug ne fournissent pas de valeurs.

Le tableau suivant décrit les éléments et les attributs de la sortie XML.

Élément Attributs Sortie Notes
CallStack Aucun Dépend de la présence de l’indicateur Callstack dans la TraceOutputOptions propriété. Les caractères spéciaux tels que > ou < sont remplacés par des séquences d’échappement. Consultez la table de traduction de caractères d’échappement qui suit.
Computer Aucun Toujours présent. La valeur de la propriété MachineName.
Correlation ActivityID Toujours présent Si elle n’est pas spécifiée, la valeur par défaut est un GUID vide.
RelatedActivityID Dépend de la présence du paramètre dans l’appel relatedActivityId de méthode Trace. Paramètre relatedActivityId de la méthode TraceTransfer.
DataItem Aucun Dépend du data paramètre de la TraceData méthode. Cet élément peut contenir un tableau d’éléments ou un élément, de sorte que les valeurs sont écrites sous la forme d’un ensemble de DataItem nœuds sous l’élément TraceData .

La sortie de données utilise la ToString méthode des objets de données transmis.
EventID Aucun Toujours présent. Entrée de paramètre (id).
Execution ProcessName Toujours présent. À partir de TraceEventCache.
ProcessID Toujours présent. À partir de TraceEventCache.
ThreadID Toujours présent. À partir de TraceEventCache.
Level Aucun Toujours présent. Entrée de paramètre (valeur numérique de eventType). Les valeurs de paramètre supérieures à 255 sont générées par 255.
LogicalOperationStack Aucun Dépend de la présence de l’indicateur LogicalOperationStack dans la TraceOutputOptions propriété . Il peut y avoir plusieurs opérations logiques, de sorte que les valeurs sont écrites en tant que LogicalOperation nœuds sous l’élément LogicalOperationStack .
Message Aucun Dépend de la présence d’un message dans l’appel de méthode Trace. Cet élément est un message mis en forme si des arguments de mise en forme sont fournis.
Source Name Toujours présent. Entrée de paramètre.
SubType Name Toujours présent. Entrée de paramètre.
TimeCreated SystemTime Toujours présent. S’il n’est pas présent dans , TraceEventCachela valeur par défaut est l’heure actuelle.
TimeStamp Aucun Dépend de la présence de l’indicateur Timestamp dans la TraceOutputOptions propriété . À partir de TraceEventCache.
Type Aucun Toujours présent. Toujours la valeur 3.

Le tableau suivant montre les caractères qui sont placés dans une séquence d’échappement dans la sortie XML. L’échappement se produit dans tous les éléments et attributs à l’exception de l’élément, qui n’est pas placé dans une DataItem séquence d’échappement si l’objet passé au data paramètre de la TraceData méthode est un XPathNavigator objet . Si un XPathNavigator est utilisé pour l’objet de données, la MoveToRoot méthode est appelée et l’intégralité du nœud racine est tracée en tant que données sans séquence d’échappement.

Caractère d’échappement Valeur
& &
< <
> >
" "
|'
0xD
0xA

Constructeurs

XmlWriterTraceListener(Stream)

Initialise une nouvelle instance de la classe XmlWriterTraceListener à l'aide du flux spécifié comme destinataire de la sortie de débogage et de traçage.

XmlWriterTraceListener(Stream, String)

Initialise une nouvelle instance de la classe XmlWriterTraceListener avec le nom spécifié en utilisant le flux spécifié comme destinataire de la sortie de débogage et de traçage.

XmlWriterTraceListener(String)

Initialise une nouvelle instance de la classe XmlWriterTraceListener à l'aide du fichier spécifié comme destinataire de la sortie de débogage et de traçage.

XmlWriterTraceListener(String, String)

Initialise une nouvelle instance de la classe XmlWriterTraceListener avec le nom spécifié en utilisant le fichier spécifié comme destinataire de la sortie de débogage et de traçage.

XmlWriterTraceListener(TextWriter)

Initialise une nouvelle instance de la classe XmlWriterTraceListener à l'aide du writer spécifié comme destinataire de la sortie de débogage et de traçage.

XmlWriterTraceListener(TextWriter, String)

Initialise une nouvelle instance de la classe XmlWriterTraceListener avec le nom spécifié en utilisant le writer spécifié comme destinataire de la sortie de débogage et de traçage.

Propriétés

Attributes

Obtient les attributs d'écouteur de trace personnalisés définis dans le fichier de configuration de l'application.

(Hérité de TraceListener)
Filter

Obtient ou définit le filtre de trace pour l’écouteur de la trace.

(Hérité de TraceListener)
IndentLevel

Obtient ou définit le niveau de retrait.

(Hérité de TraceListener)
IndentSize

Obtient ou définit le nombre d'espaces dans un retrait.

(Hérité de TraceListener)
IsThreadSafe

Obtient une valeur qui indique si l'écouteur de trace est thread-safe.

(Hérité de TraceListener)
Name

Obtient ou définit un nom pour ce TraceListener.

(Hérité de TraceListener)
NeedIndent

Obtient ou définit une valeur indiquant si la sortie doit être mise en retrait.

(Hérité de TraceListener)
TraceOutputOptions

Obtient ou définit les options de sortie de trace.

(Hérité de TraceListener)
Writer

Obtient ou définit TextWriter qui reçoit la sortie de traçage ou de débogage.

(Hérité de TextWriterTraceListener)

Méthodes

Close()

Ferme Writer pour cet écouteur pour qu'il ne reçoive plus la sortie de traçage ou de débogage.

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par TraceListener.

(Hérité de TraceListener)
Dispose(Boolean)

Supprime cet objet TextWriterTraceListener.

(Hérité de TextWriterTraceListener)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Fail(String)

Émet un message d'erreur à l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
Fail(String, String)

Écrit des informations de traçage notamment un message d'erreur et un message d'erreur détaillé dans le fichier ou le flux.

Flush()

Vide la mémoire tampon de sortie du Writer.

(Hérité de TextWriterTraceListener)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetSupportedAttributes()

Obtient les attributs personnalisés pris en charge par l'écouteur de trace.

(Hérité de TraceListener)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Écrit des informations de traçage, un objet de données et des informations d'événement dans le fichier ou le flux.

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Écrit des informations de traçage, des objets de données et des informations d'événement dans le fichier ou le flux.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Écrit les informations sur la trace et les événements dans la sortie spécifique de l'écouteur.

(Hérité de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Écrit des informations de traçage, un message et des informations d'événement dans le fichier ou le flux.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Écrit des informations de traçage, un message mis en forme et des informations d'événement dans le fichier ou le flux.

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Écrit des informations de traçage notamment l'identité d'une activité connexe, un message et des informations d'événement dans le fichier ou le flux.

Write(Object)

Écrit la valeur de la méthode ToString() de l'objet dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
Write(Object, String)

Écrit un nom de catégorie ou la valeur de la méthode ToString() de l'objet dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
Write(String)

Écrit un message textuel sans information de contexte supplémentaire dans le fichier ou le flux.

Write(String, String)

Écrit un nom de catégorie et un message dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener.

(Hérité de TraceListener)
WriteIndent()

Écrit la mise en retrait dans l'écouteur que vous créez lors de l'implémentation de cette classe et rétablit la valeur false à la propriété NeedIndent.

(Hérité de TraceListener)
WriteLine(Object)

Écrit la valeur de la méthode ToString() de l'objet dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener, suivie d'une marque de fin de ligne.

(Hérité de TraceListener)
WriteLine(Object, String)

Écrit un nom de catégorie ou la valeur de la méthode ToString() de l'objet dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener, suivis d'une marque de fin de ligne.

(Hérité de TraceListener)
WriteLine(String)

Écrit un message textuel sans information de contexte supplémentaire, suivi du terminateur de ligne active, dans le fichier ou le flux.

WriteLine(String, String)

Écrit un nom de catégorie ou un message dans l'écouteur que vous créez lors de l'implémentation de la classe TraceListener, suivis d'une marque de fin de ligne.

(Hérité de TraceListener)

S’applique à