XmlWriterTraceListener Klass

Definition

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

(Ärvd från TraceListener)
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.

Gäller för