Sdílet prostřednictvím


XmlWriterTraceListener Třída

Definice

Směruje trasování nebo ladění výstupu jako data zakódovaná ve formátu XML do objektu TextWriter nebo do objektu StreamFileStream, jako je .

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í třídy k zápisu XmlWriterTraceListener dat s řídicími i neukárcovanými daty 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

K vytvoření instance XmlWriterTraceListener třídy musíte mít oprávnění nespravovaného kódu.

Třída XmlWriterTraceListener převádí trasování a ladicí informace 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 Prohlížeč trasování služby (SvcTraceViewer.exe ).

V kódu můžete vytvořit objekt XmlWriterTraceListener . Alternativně můžete u aplikací .NET Framework povolit nebo zakázat XmlWriterTraceListener prostřednictvím konfiguračního souboru aplikace a pak použít nakonfigurovaný XmlWriterTraceListener soubor ve vaší aplikaci. Pokud chcete 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 formá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. Vlastnost Filter 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, aby určily, zda se má trasování vygenerovat.

Poznámka

Pokud dojde k pokusu o zápis do souboru, který je používán nebo nedostupný, název souboru bude automaticky označen předponou GUID.

Poznámka

Metody naslouchacího Debugprocesu jsou určeny k zavolání pomocí metod tříd , Tracea TraceSource . 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 . Metody Write a WriteLine lze volat pomocí Trace tříd a Debug a výchozí hodnoty jsou k dispozici pro elementy XML, které Trace a Debug nedodají hodnoty pro.

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

Prvek Atributy Výstup Poznámky
CallStack Žádné Závisí na přítomnosti příznaku Callstack ve TraceOutputOptions vlastnosti . Speciální znaky jako > nebo < se nahradí řídicími sekvencemi. Podívejte se na tabulku překladu znaků s řídicími znaky, která následuje.
Computer Žádné Vždy přítomen. Hodnota MachineName vlastnosti.
Correlation ActivityID Vždy přítomen 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 Žádné Závisí na data parametru TraceData metody . Tento element může obsahovat pole elementů nebo jeden prvek, takže hodnoty jsou zapsány jako sada DataItem uzlů pod elementem TraceData .

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

V následující tabulce jsou uvedeny znaky, které jsou ve výstupu XML umisovány řídicími znaky. K nákresu dochází ve všech elementech a atributech s výjimkou elementu DataItem , který není uvozován, pokud je objekt předaný data parametru TraceData metody objekt.XPathNavigator XPathNavigator Pokud se pro datový objekt použije objekt , MoveToRoot je volána metoda a celý kořenový uzel je trasován jako unescaped data.

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

Konstruktory

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(Stream, String)

Inicializuje novou instanci XmlWriterTraceListener třídy se zadaným názvem pomocí zadaného streamu 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(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(TextWriter)

Inicializuje novou instanci XmlWriterTraceListener třídy pomocí zadaného zapisovače 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í.

Vlastnosti

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 trasování naslouchací proces.

(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 trasování naslouchací proces je bezpečný z více vláken.

(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 má být odsazení výstupu.

(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ý obdrží výstup trasování nebo ladění.

(Zděděno od TextWriterTraceListener)

Metody

Close()

Zavře pro tento naslouchací Writer proces tak, aby již neobdržel výstup trasování nebo ladění.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící 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čí, zda se zadaný objekt rovná aktuálnímu objektu.

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

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

(Zděděno od TraceListener)
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.

Flush()

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

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

Slouží jako výchozí hashovací funkce.

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

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

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

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

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

Type Získá z aktuální instance.

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

Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

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

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

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

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

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

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

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

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

(Zděděno od TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

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

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

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

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

Zapíše do souboru nebo datového proudu informace o trasování, včetně identity související aktivity, zprávy a informací o událostech.

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(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(String)

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

Write(String, String)

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

(Zděděno od TraceListener)
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)

Zapíše 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, 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(String)

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

WriteLine(String, String)

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

(Zděděno od TraceListener)

Platí pro