XmlWriterTraceListener Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Dirige le suivi ou le débogage de sortie en tant que données encodées XML vers un TextWriter ou vers un , tel qu’un StreamFileStream.
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 XmlWriterTraceListener classe pour écrire des données d’échappement et non échapées 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
Note
Vous devez disposer d’une autorisation de code non managée pour créer une instance de la XmlWriterTraceListener classe.
La XmlWriterTraceListener classe convertit les informations de suivi et de débogage en flux de texte encodé xml. La description de la sortie XML est affiché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 code dans votre code. Sinon, pour les applications .NET Framework, vous pouvez activer ou désactiver un via le fichier de configuration de XmlWriterTraceListener l’application, puis utiliser l’application configurée XmlWriterTraceListener dans votre application. Pour configurer un XmlWriterTraceListenerfichier de configuration, modifiez le fichier de configuration correspondant 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 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é permet un niveau supplémentaire de filtrage de sortie de trace au niveau de l’écouteur. S’il existe un filtre, 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.
Note
Si une tentative d’écriture dans un fichier en cours d’utilisation ou non disponible est effectuée, le nom du fichier est automatiquement précédé d’un GUID.
Note
Les méthodes d’écouteur sont destinées à être appelées par des méthodes du Debug, Traceet TraceSource des classes. Les méthodes d’é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 les méthodes peuvent être appelées par les TraceDebug classes et les valeurs par défaut sont fournies pour les éléments XML dont Trace les valeurs ne sont pas fournies.Debug
Le tableau suivant décrit les éléments et attributs de la sortie XML.
| Élément | Attributs | Sortie | Remarques |
|---|---|---|---|
CallStack |
Aucun | Dépend de la présence de l’indicateur Callstack dans la TraceOutputOptions propriété. | Des 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. | Valeur de la MachineName propriété. |
Correlation |
ActivityID |
Toujours présent | S’il n’est pas spécifié, 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 TraceTransfer méthode. |
|
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 du TraceEventCache. |
ProcessID |
Toujours présent. | À partir du TraceEventCache. | |
ThreadID |
Toujours présent. | À partir du 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 comme 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 le TraceEventCache, la 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 du TraceEventCache. |
Type |
Aucun | Toujours présent. | Toujours la valeur 3. |
Le tableau suivant montre les caractères qui sont échappés dans la sortie XML. L’échappement se produit dans tous les éléments et attributs à l’exception de l’élément DataItem , ce qui n’est pas échappé si l’objet passé au data paramètre de la TraceData méthode est un XPathNavigator objet. Si un XPathNavigator objet de données est utilisé, la MoveToRoot méthode est appelée et le nœud racine entier est suivi en tant que données non boucées.
| Caractère d’échappement | Valeur |
|---|---|
| & | & |
| < | < |
| > | > |
| " | " |
| |' | |
| 0xD | |
| 0xA |
Constructeurs
| Nom | Description |
|---|---|
| XmlWriterTraceListener(Stream, String) |
Initialise une nouvelle instance de la XmlWriterTraceListener classe avec le nom spécifié, en utilisant le flux spécifié en tant que destinataire de la sortie de débogage et de suivi. |
| XmlWriterTraceListener(Stream) |
Initialise une nouvelle instance de la XmlWriterTraceListener classe à l’aide du flux spécifié en tant que destinataire de la sortie de débogage et de suivi. |
| XmlWriterTraceListener(String, String) |
Initialise une nouvelle instance de la XmlWriterTraceListener classe avec le nom spécifié, en utilisant le fichier spécifié en tant que destinataire de la sortie de débogage et de suivi. |
| XmlWriterTraceListener(String) |
Initialise une nouvelle instance de la XmlWriterTraceListener classe à l’aide du fichier spécifié en tant que destinataire de la sortie de débogage et de suivi. |
| XmlWriterTraceListener(TextWriter, String) |
Initialise une nouvelle instance de la XmlWriterTraceListener classe avec le nom spécifié, en utilisant l’enregistreur spécifié comme destinataire de la sortie de débogage et de suivi. |
| XmlWriterTraceListener(TextWriter) |
Initialise une nouvelle instance de la classe à l’aide XmlWriterTraceListener de l’enregistreur spécifié en tant que destinataire de la sortie de débogage et de suivi. |
Propriétés
| Nom | Description |
|---|---|
| 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 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 indiquant 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 s’il faut mettre en retrait la sortie. (Hérité de TraceListener) |
| TraceOutputOptions |
Obtient ou définit les options de sortie de trace. (Hérité de TraceListener) |
| Writer |
Obtient ou définit l’enregistreur de texte qui reçoit la sortie de suivi ou de débogage. (Hérité de TextWriterTraceListener) |
Méthodes
| Nom | Description |
|---|---|
| Close() |
Ferme l’écouteur Writer pour qu’il ne reçoive plus de suivi ou de sortie de débogage. |
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| Dispose() |
Libère toutes les ressources utilisées par le TraceListener. (Hérité de TraceListener) |
| Dispose(Boolean) |
Supprime cet TextWriterTraceListener objet. (Hérité de TextWriterTraceListener) |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| Fail(String, String) |
Écrit des informations de trace, notamment un message d’erreur et un message d’erreur détaillé dans le fichier ou le flux. |
| Fail(String) |
Émet un message d’erreur à l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Flush() |
Vide la mémoire tampon de sortie pour le Writer. (Hérité de TextWriterTraceListener) |
| GetHashCode() |
Sert 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 actuel 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 la 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 Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (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 trace, 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 trace, des objets de données et des informations d’événement dans le fichier ou le flux. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Écrit des informations de trace, un message mis en forme et des informations d’événement dans le fichier ou le flux. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Écrit des informations de trace, un message et des informations d’événement dans le fichier ou le flux. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Écrit les informations de trace et d’événement dans la sortie spécifique de l’écouteur. (Hérité de TraceListener) |
| TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Écrit des informations de trace, notamment l’identité d’une activité associée, un message et les informations d’événement dans le fichier ou le flux. |
| Write(Object, String) |
Écrit un nom de catégorie et la valeur de la méthode de ToString() l’objet dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Write(Object) |
Écrit la valeur de la méthode de ToString() l’objet dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Write(String, String) |
Écrit un nom de catégorie et un message dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe. (Hérité de TraceListener) |
| Write(String) |
Écrit un message détaillé sans aucune information contextuelle supplémentaire dans le fichier ou le flux. |
| WriteIndent() |
Écrit le retrait dans l’écouteur que vous créez lorsque vous implémentez cette classe et réinitialise la NeedIndent propriété sur |
| WriteLine(Object, String) |
Écrit un nom de catégorie et la valeur de la méthode de ToString() l’objet dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe, suivie d’un terminateur de ligne. (Hérité de TraceListener) |
| WriteLine(Object) |
Écrit la valeur de la méthode de ToString() l’objet dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe, suivie d’une marque de fin de ligne. (Hérité de TraceListener) |
| WriteLine(String, String) |
Écrit un nom de catégorie et un message dans l’écouteur que vous créez lorsque vous implémentez la TraceListener classe, suivi d’un terminateur de ligne. (Hérité de TraceListener) |
| WriteLine(String) |
Écrit un message détaillé sans aucune information contextuelle supplémentaire suivie de la marque de fin de ligne actuelle dans le fichier ou le flux. |