Sdílet prostřednictvím


XmlWriterTraceListener Třída

Definice

Směruje trasování nebo ladění výstupu jako xml kódovaná data do TextWriter nebo do Stream, jako FileStreamje například .

public ref class XmlWriterTraceListener : System::Diagnostics::TextWriterTraceListener
public class XmlWriterTraceListener : System.Diagnostics.TextWriterTraceListener
type XmlWriterTraceListener = class
    inherit TextWriterTraceListener
Public Class XmlWriterTraceListener
Inherits TextWriterTraceListener
Dědičnost

Příklady

Následující příklad kódu ukazuje použití XmlWriterTraceListener třídy k zápisu řídicích i neuskutečněných dat do protokolů souborů.

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

Poznámky

Poznámka:

Abyste mohli vytvořit instanci XmlWriterTraceListener třídy, musíte mít nespravované oprávnění ke kódu.

Třída XmlWriterTraceListener převádí trasování a ladění informací do textového streamu s kódováním XML. Popis výstupu XML se zobrazí v následujících tabulkách. K zobrazení výstupu XML můžete použít nástroj Service Trace Viewer (SvcTraceViewer.exe).

V kódu můžete vytvořit kód XmlWriterTraceListener . Alternativně můžete pro aplikace .NET Framework povolit nebo zakázat XmlWriterTraceListener prostřednictvím konfiguračního souboru aplikace a pak použít nakonfigurovanou XmlWriterTraceListener aplikaci. Chcete-li nakonfigurovat XmlWriterTraceListener, upravte konfigurační soubor, který odpovídá názvu vaší aplikace. V tomto souboru můžete přidat nebo odebrat naslouchací proces, nastavit vlastnosti naslouchacího procesu nebo odebrat naslouchací procesy. Konfigurační soubor by měl být naformátovaný jako v následujícím příkladu.

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

Třída XmlWriterTraceListener dědí Filter vlastnost ze základní třídy TraceListener. Tato Filter vlastnost umožňuje další úroveň filtrování výstupu trasování v naslouchacím procesu. Pokud existuje filtr, Trace metody naslouchacího procesu trasování volají ShouldTrace metodu filtru k určení, zda se má trasování generovat.

Poznámka:

Pokud se pokusíte zapisovat do souboru, který se používá nebo není k dispozici, název souboru se automaticky předponou identifikátoru GUID.

Poznámka:

Metody naslouchacího procesu mají být volána metodami Debug, Tracea TraceSource třídy. Metody naslouchacího procesu nejsou určeny k přímému zavolání z kódu aplikace. Naslouchací XmlWriterTraceListener proces je primárně určený pro použití TraceSource třídou. Tyto Write a WriteLine metody lze volat podle Trace tříd Debug a výchozí hodnoty jsou k dispozici pro elementy XML, které Trace a Debug nezadají hodnoty pro.

Následující tabulka popisuje prvky a atributy výstupu XML.

prvek Atributy Výstup Poznámky
CallStack None Závisí na přítomnosti příznaku CallstackTraceOutputOptions ve vlastnosti. Speciální znaky, jako > jsou nebo < jsou nahrazeny řídicími sekvencemi. Podívejte se na tabulku překladu řídicích znaků, která následuje.
Computer None Vždy přítomný. Hodnota MachineName vlastnosti.
Correlation ActivityID Vždy prezentovat Pokud není zadaný, výchozí hodnota je prázdný identifikátor GUID.
RelatedActivityID Závisí na přítomnosti parametru relatedActivityId ve volání metody Trace. Parametr relatedActivityIdTraceTransfer metody.
DataItem None Závisí na data parametru TraceData metody. Tento prvek může obsahovat pole prvků nebo jeden prvek, takže hodnoty jsou zapsány jako sada DataItem uzlů pod elementem TraceData .

Výstup dat používá metodu ToString předaných datových objektů.
EventID None Vždy přítomný. Vstup parametru (id).
Execution ProcessName Vždy přítomný. Z .TraceEventCache
ProcessID Vždy přítomný. Z .TraceEventCache
ThreadID Vždy přítomný. Z .TraceEventCache
Level None Vždy přítomný. Vstup parametru (číselná hodnota eventType). Hodnoty parametrů větší než 255 jsou výstupem 255.
LogicalOperationStack None Závisí na přítomnosti příznaku LogicalOperationStackTraceOutputOptions ve vlastnosti. Může existovat více než jedna logická operace, takže hodnoty se zapisují jako LogicalOperation uzly pod elementem LogicalOperationStack .
Message None Závisí na přítomnosti zprávy ve volání metody trasování. Tento prvek je formátovaná zpráva, pokud jsou k dispozici argumenty formátování.
Source Name Vždy přítomný. Vstup parametru.
SubType Name Vždy přítomný. Vstup parametru.
TimeCreated SystemTime Vždy přítomný. Pokud v seznamu TraceEventCachenení k dispozici, výchozí hodnota je aktuální čas.
TimeStamp None Závisí na přítomnosti příznaku TimestampTraceOutputOptions ve vlastnosti. Z .TraceEventCache
Type None Vždy přítomný. Vždy hodnota 3.

Následující tabulka ukazuje znaky, které jsou ve výstupu XML uchycené. Escaping se vyskytuje ve všech prvcích a atributech s výjimkou elementuDataItem, který není uvozován, pokud objekt předaný data parametru TraceData metody je objekt.XPathNavigator XPathNavigator Pokud se používá pro datový objekt, MoveToRoot volá se metoda a celý kořenový uzel je trasován jako neuniknutá data.

Řídicí znak Hodnota
& &
< <
> >
" "
|'
0xD
0xA

Konstruktory

Name Description
XmlWriterTraceListener(Stream, String)

Inicializuje novou instanci XmlWriterTraceListener třídy se zadaným názvem pomocí zadaného datového proudu jako příjemce výstupu ladění a trasování.

XmlWriterTraceListener(Stream)

Inicializuje novou instanci XmlWriterTraceListener třídy pomocí zadaného datového proudu jako příjemce výstupu ladění a trasování.

XmlWriterTraceListener(String, String)

Inicializuje novou instanci XmlWriterTraceListener třídy se zadaným názvem pomocí zadaného souboru jako příjemce výstupu ladění a trasování.

XmlWriterTraceListener(String)

Inicializuje novou instanci XmlWriterTraceListener třídy pomocí zadaného souboru jako příjemce výstupu ladění a trasování.

XmlWriterTraceListener(TextWriter, String)

Inicializuje novou instanci XmlWriterTraceListener třídy se zadaným názvem pomocí zadaného zapisovače jako příjemce výstupu ladění a trasování.

XmlWriterTraceListener(TextWriter)

Inicializuje novou instanci XmlWriterTraceListener třídy pomocí zadaného zapisovače jako příjemce výstupu ladění a trasování.

Vlastnosti

Name Description
Attributes

Získá vlastní atributy naslouchacího procesu trasování definované v konfiguračním souboru aplikace.

(Zděděno od TraceListener)
Filter

Získá nebo nastaví filtr trasování pro naslouchací proces trasování.

(Zděděno od TraceListener)
IndentLevel

Získá nebo nastaví úroveň odsazení.

(Zděděno od TraceListener)
IndentSize

Získá nebo nastaví počet mezer v odsazení.

(Zděděno od TraceListener)
IsThreadSafe

Získá hodnotu označující, zda je naslouchací proces trasování bezpečný podproces.

(Zděděno od TraceListener)
Name

Získá nebo nastaví název pro tento TraceListener.

(Zděděno od TraceListener)
NeedIndent

Získá nebo nastaví hodnotu označující, zda se má výstup odsadit.

(Zděděno od TraceListener)
TraceOutputOptions

Získá nebo nastaví možnosti výstupu trasování.

(Zděděno od TraceListener)
Writer

Získá nebo nastaví zapisovač textu, který přijímá trasování nebo ladění výstupu.

(Zděděno od TextWriterTraceListener)

Metody

Name Description
Close()

Writer Zavře naslouchací proces pro tento naslouchací proces, aby přestal přijímat výstup trasování nebo ladění.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Uvolní všechny prostředky používané nástrojem TraceListener.

(Zděděno od TraceListener)
Dispose(Boolean)

Odstraní tento TextWriterTraceListener objekt.

(Zděděno od TextWriterTraceListener)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
Fail(String, String)

Zapíše informace o trasování, včetně chybové zprávy a podrobné chybové zprávy do souboru nebo datového proudu.

Fail(String)

Vygeneruje chybovou zprávu naslouchacímu procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Flush()

Vyprázdní výstupní vyrovnávací paměť pro Writer.

(Zděděno od TextWriterTraceListener)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetSupportedAttributes()

Získá vlastní atributy podporované naslouchacím procesem trasování.

(Zděděno od TraceListener)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Zapisuje do souboru nebo datového proudu informace o trasování, datový objekt a informace o událostech.

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

Zapisuje informace o trasování, datové objekty a informace o událostech do souboru nebo datového proudu.

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

Zapisuje do souboru nebo datového proudu informace o trasování, formátovanou zprávu a informace o události.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Zapíše do souboru nebo datového proudu informace o trasování, zprávu a informace o události.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Zapíše informace o trasování a událostech do výstupu specifického pro naslouchací proces.

(Zděděno od TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Zapisuje do souboru nebo streamu informace o trasování, včetně identity související aktivity, zprávy a informací o události.

Write(Object, String)

Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Write(Object)

Zapíše hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Write(String, String)

Zapíše název kategorie a zprávu do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy.

(Zděděno od TraceListener)
Write(String)

Zapíše doslovnou zprávu bez dalších kontextových informací do souboru nebo datového proudu.

WriteIndent()

Zapíše odsazení do naslouchacího procesu, který vytvoříte při implementaci této třídy, a resetuje NeedIndent vlastnost na false.

(Zděděno od TraceListener)
WriteLine(Object, String)

Zapíše název kategorie a hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy, následovaný ukončovacím znakem řádku.

(Zděděno od TraceListener)
WriteLine(Object)

Zapíše hodnotu metody objektu ToString() do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy, následované ukončovacím řádkem.

(Zděděno od TraceListener)
WriteLine(String, String)

Zapíše název kategorie a zprávu do naslouchacího procesu, který vytvoříte při implementaci TraceListener třídy, následovaný ukončovacím řádkem.

(Zděděno od TraceListener)
WriteLine(String)

Zapíše doslovnou zprávu bez dalších kontextových informací následovaných ukončovacím znakem aktuálního řádku do souboru nebo datového proudu.

Platí pro