XmlWriterTraceListener Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Dirigerar spårning eller felsökning av utdata som XML-kodade data till en TextWriter eller till en Stream, till exempel en FileStream.
public ref class XmlWriterTraceListener : System::Diagnostics::TextWriterTraceListener
public class XmlWriterTraceListener : System.Diagnostics.TextWriterTraceListener
type XmlWriterTraceListener = class
inherit TextWriterTraceListener
Public Class XmlWriterTraceListener
Inherits TextWriterTraceListener
- Arv
Exempel
I följande kodexempel visas hur klassen används XmlWriterTraceListener för att skriva både undantagna och icke-undantagna data till filloggar.
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
Kommentarer
Note
Du måste ha ohanterad kodbehörighet för att kunna skapa en instans av XmlWriterTraceListener klassen.
Klassen XmlWriterTraceListener konverterar spårnings- och felsökningsinformation till en XML-kodad textström. Beskrivningen av XML-utdata visas i tabellerna som följer. Du kan använda visningsverktyget för tjänstspårning (SvcTraceViewer.exe) för att visa XML-utdata.
Du kan skapa en XmlWriterTraceListener i koden. För .NET Framework-appar kan du också aktivera eller inaktivera en XmlWriterTraceListener via programkonfigurationsfilen och sedan använda den konfigurerade XmlWriterTraceListener i ditt program. Om du vill konfigurera en XmlWriterTraceListenerredigerar du konfigurationsfilen som motsvarar namnet på ditt program. I den här filen kan du lägga till eller ta bort en lyssnare, ange egenskaperna för en lyssnare eller ta bort lyssnare. Konfigurationsfilen ska formateras som i följande exempel.
<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>
Klassen XmlWriterTraceListener ärver Filter egenskapen från basklassen TraceListener. Egenskapen Filter tillåter ytterligare en nivå av spårningsutdatafiltrering hos lyssnaren. Om det finns ett filter anropar Trace spårningslyssnaren ShouldTrace metoden för filtret för att avgöra om spårningen ska genereras.
Note
Om ett försök görs att skriva till en fil som används eller inte är tillgänglig, prefixas filnamnet automatiskt av ett GUID.
Note
Lyssnarmetoder är avsedda att anropas med metoder för klasserna Debug, Traceoch TraceSource . Lyssnarmetoderna är inte avsedda att anropas direkt från programkoden. Lyssnaren XmlWriterTraceListener är främst avsedd för användning av TraceSource klassen. Metoderna Write och WriteLine kan anropas av Trace klasserna och Debug och standardvärdena anges för DE XML-element som Trace inte Debug anger värden för.
I följande tabell beskrivs elementen och attributen för XML-utdata.
| Element | Attributes | Output | Notes |
|---|---|---|---|
CallStack |
Ingen | Beror på förekomsten av Callstack flaggan i egenskapen TraceOutputOptions . | Specialtecken som > eller < ersätts med escape-sekvenser. Se översättningstabellen för undantagna tecken som följer. |
Computer |
Ingen | Alltid närvarande. | Värdet för MachineName egenskapen. |
Correlation |
ActivityID |
Alltid närvarande | Om det inte anges är standardvärdet ett tomt GUID. |
RelatedActivityID |
Beror på förekomsten av parametern relatedActivityId i spårningsmetodanropet. |
Parametern relatedActivityId för TraceTransfer metoden. |
|
DataItem |
Ingen | Beror på data metodens TraceData parameter. |
Det här elementet kan innehålla en matris med element eller ett element, så värdena skrivs som en uppsättning DataItem noder under elementet TraceData .Datautdata använder ToString metoden för de skickade dataobjekten. |
EventID |
Ingen | Alltid närvarande. | Parameterindata (id). |
Execution |
ProcessName |
Alltid närvarande. | TraceEventCacheFrån . |
ProcessID |
Alltid närvarande. | TraceEventCacheFrån . | |
ThreadID |
Alltid närvarande. | TraceEventCacheFrån . | |
Level |
Ingen | Alltid närvarande. | Parameterindata (det numeriska värdet för eventType). Parametervärden som är större än 255 är utdata som 255. |
LogicalOperationStack |
Ingen | Beror på förekomsten av LogicalOperationStack flaggan i egenskapen TraceOutputOptions . | Det kan finnas mer än en logisk åtgärd, så värdena skrivs som LogicalOperation noder under elementet LogicalOperationStack . |
Message |
Ingen | Beror på förekomsten av ett meddelande i spårningsmetodanropet. | Det här elementet är ett formaterat meddelande om formateringsargument tillhandahålls. |
Source |
Name |
Alltid närvarande. | Parameterindata. |
SubType |
Name |
Alltid närvarande. | Parameterindata. |
TimeCreated |
SystemTime |
Alltid närvarande. | Om det inte finns i TraceEventCacheär standardvärdet den aktuella tiden. |
TimeStamp |
Ingen | Beror på förekomsten av Timestamp flaggan i egenskapen TraceOutputOptions . | TraceEventCacheFrån . |
Type |
Ingen | Alltid närvarande. | Alltid värdet 3. |
I följande tabell visas de tecken som är undantagna i XML-utdata. Utrymning sker i alla element och attribut med undantag för elementet DataItem , vilket inte är undantaget om objektet som skickas till parametern data för TraceData metoden är ett XPathNavigator objekt. Om en XPathNavigator används för dataobjektet MoveToRoot anropas metoden och hela rotnoden spåras som ej kapslade data.
| Undantaget tecken | Value |
|---|---|
| & | & |
| < | < |
| > | > |
| " | " |
| |' | |
| 0xD | |
| 0xA |
Konstruktorer
| Name | Description |
|---|---|
| XmlWriterTraceListener(Stream, String) |
Initierar en ny instans av XmlWriterTraceListener klassen med det angivna namnet med den angivna strömmen som mottagare av felsöknings- och spårningsutdata. |
| XmlWriterTraceListener(Stream) |
Initierar en ny instans av XmlWriterTraceListener klassen med den angivna strömmen som mottagare av felsöknings- och spårningsutdata. |
| XmlWriterTraceListener(String, String) |
Initierar en ny instans av XmlWriterTraceListener klassen med det angivna namnet med den angivna filen som mottagare av felsöknings- och spårningsutdata. |
| XmlWriterTraceListener(String) |
Initierar en ny instans av XmlWriterTraceListener klassen med den angivna filen som mottagare av felsöknings- och spårningsutdata. |
| XmlWriterTraceListener(TextWriter, String) |
Initierar en ny instans av XmlWriterTraceListener klassen med det angivna namnet med den angivna skrivaren som mottagare av felsöknings- och spårningsutdata. |
| XmlWriterTraceListener(TextWriter) |
Initierar en ny instans av XmlWriterTraceListener klassen med den angivna skrivaren som mottagare av felsöknings- och spårningsutdata. |
Egenskaper
| Name | Description |
|---|---|
| Attributes |
Hämtar attributen för anpassad spårningslyssnare som definierats i programkonfigurationsfilen. (Ärvd från TraceListener) |
| Filter |
Hämtar eller anger spårningsfiltret för spårningslyssnaren. (Ärvd från TraceListener) |
| IndentLevel |
Hämtar eller anger indragsnivån. (Ärvd från TraceListener) |
| IndentSize |
Hämtar eller anger antalet blanksteg i ett indrag. (Ärvd från TraceListener) |
| IsThreadSafe |
Hämtar ett värde som anger om spårningslyssnaren är trådsäker. (Ärvd från TraceListener) |
| Name |
Hämtar eller anger ett namn för den här TraceListener. (Ärvd från TraceListener) |
| NeedIndent |
Hämtar eller anger ett värde som anger om utdata ska dras in. (Ärvd från TraceListener) |
| TraceOutputOptions |
Hämtar eller anger alternativen för spårningsutdata. (Ärvd från TraceListener) |
| Writer |
Hämtar eller anger den textskrivare som tar emot spårnings- eller felsökningsutdata. (Ärvd från TextWriterTraceListener) |
Metoder
| Name | Description |
|---|---|
| Close() |
Stänger för den här lyssnaren Writer så att den inte längre tar emot spårning eller felsökning av utdata. |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| Dispose() |
Släpper alla resurser som används av TraceListener. (Ärvd från TraceListener) |
| Dispose(Boolean) |
Bortser från det här TextWriterTraceListener objektet. (Ärvd från TextWriterTraceListener) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Fail(String, String) |
Skriver spårningsinformation, inklusive ett felmeddelande och ett detaljerat felmeddelande till filen eller strömmen. |
| Fail(String) |
Genererar ett felmeddelande till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Flush() |
Tömer utdatabufferten Writerför . (Ärvd från TextWriterTraceListener) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetLifetimeService() |
Föråldrad.
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetSupportedAttributes() |
Hämtar anpassade attribut som stöds av spårningslyssnaren. (Ärvd från TraceListener) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InitializeLifetimeService() |
Föråldrad.
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Skriver spårningsinformation, ett dataobjekt och händelseinformation till filen eller strömmen. |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Skriver spårningsinformation, dataobjekt och händelseinformation till filen eller strömmen. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Skriver spårningsinformation, ett formaterat meddelande och händelseinformation till filen eller strömmen. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Skriver spårningsinformation, ett meddelande och händelseinformation till filen eller strömmen. |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Skriver spårnings- och händelseinformation till lyssnarens specifika utdata. (Ärvd från TraceListener) |
| TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Skriver spårningsinformation, inklusive identiteten för en relaterad aktivitet, ett meddelande och händelseinformation till filen eller strömmen. |
| Write(Object, String) |
Skriver ett kategorinamn och värdet för objektets ToString() metod till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Write(Object) |
Skriver värdet för objektets ToString() -metod till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Write(String, String) |
Skriver ett kategorinamn och ett meddelande till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Write(String) |
Skriver ett ordagrant meddelande utan ytterligare kontextinformation till filen eller strömmen. |
| WriteIndent() |
Skriver indraget till lyssnaren som du skapar när du implementerar den här klassen och återställer NeedIndent egenskapen till |
| WriteLine(Object, String) |
Skriver ett kategorinamn och värdet för objektets ToString() metod till lyssnaren som du skapar när du implementerar TraceListener klassen, följt av en radavgränsare. (Ärvd från TraceListener) |
| WriteLine(Object) |
Skriver värdet för objektets ToString() -metod till lyssnaren du skapar när du implementerar TraceListener klassen, följt av en radavslutare. (Ärvd från TraceListener) |
| WriteLine(String, String) |
Skriver ett kategorinamn och ett meddelande till lyssnaren som du skapar när du implementerar TraceListener klassen, följt av en radavgränsare. (Ärvd från TraceListener) |
| WriteLine(String) |
Skriver ett ordagrant meddelande utan ytterligare kontextinformation följt av den aktuella radavgränsaren till filen eller strömmen. |