XmlWriterTraceListener Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 relatedActivityId TraceTransfer 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 |
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) |