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