XmlWriterTraceListener Osztály

Definíció

Xml-kóddal kódolt adatokként irányítja a kimenet nyomon követését vagy hibakeresését egy TextWriter vagy egy Stream, például egy FileStream.

public ref class XmlWriterTraceListener : System::Diagnostics::TextWriterTraceListener
public class XmlWriterTraceListener : System.Diagnostics.TextWriterTraceListener
type XmlWriterTraceListener = class
    inherit TextWriterTraceListener
Public Class XmlWriterTraceListener
Inherits TextWriterTraceListener
Öröklődés

Példák

Az alábbi példakód azt mutatja be, hogy az XmlWriterTraceListener osztály a szökött és a nem szökött adatokat is fájlnaplókba írja.

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

Megjegyzések

Note

Az osztály egy példányának létrehozásához nem felügyelt kód engedéllyel kell rendelkeznie XmlWriterTraceListener .

Az XmlWriterTraceListener osztály xml-kódolt szöveges adatfolyammá alakítja a nyomkövetési és hibakeresési információkat. Az XML-kimenet leírása az alábbi táblákban jelenik meg. A Service Trace Viewer tool (SvcTraceViewer.exe) használatával megjelenítheti az XML-kimenetet.

Létrehozhat egy XmlWriterTraceListener kódot a kódban. Másik lehetőségként .NET Framework-alkalmazások esetében engedélyezheti vagy letilthatja a XmlWriterTraceListener az alkalmazás konfigurációs fájljában, majd használhatja a konfigurált XmlWriterTraceListener az alkalmazásban. Konfigurálásához XmlWriterTraceListenerszerkessze az alkalmazás nevének megfelelő konfigurációs fájlt. Ebben a fájlban hozzáadhat vagy eltávolíthat egy figyelőt, beállíthatja a figyelő tulajdonságait, vagy eltávolíthatja a figyelőket. A konfigurációs fájlt az alábbi példához hasonlóan kell formázni.

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

Az XmlWriterTraceListener osztály az Filter alaposztálytól örökli a tulajdonságot TraceListener. A Filter tulajdonság további szintű nyomkövetési kimenetszűrést tesz lehetővé a figyelőben. Ha van szűrő, a Trace nyomkövetési figyelő metódusai meghívják a ShouldTrace szűrő metódusát annak megállapításához, hogy ki kell-e bocsátani a nyomkövetést.

Note

Ha olyan fájlba próbálnak írni, amely használatban van vagy nem érhető el, a rendszer automatikusan előtagot ad egy GUID-azonosítónak.

Note

A figyelőmetszeteket a , Traceés TraceSource az Debugosztályok metódusai hívják meg. A figyelő metódusok nem közvetlenül az alkalmazáskódból hívhatók meg. A XmlWriterTraceListener figyelőt elsősorban az TraceSource osztály használja. WriteLine A Write metódusokat és Debug az osztályokat meghívhatjaTrace, az alapértelmezett értékeket pedig azok az XML-elemek adják meg, amelyekhez TraceDebug nem adnak meg értékeket.

Az alábbi táblázat az XML-kimenet elemeit és attribútumait ismerteti.

Elem Attributes Output Jegyzetek
CallStack Nincs Attól függ, hogy a jelölő szerepel-e Callstack a TraceOutputOptions tulajdonságban. Speciális karakterek, például > menekülési sorozatok, vagy < azok helyébe lépnek. Tekintse meg az alábbi karakterfordítási táblázatot.
Computer Nincs Mindig jelen van. A tulajdonság értéke MachineName .
Correlation ActivityID Mindig jelen van Ha nincs megadva, az alapértelmezett érték egy üres GUID.
RelatedActivityID Attól függ, hogy a paraméter szerepel-e relatedActivityId a Trace metódushívásban. A relatedActivityId metódus paramétere TraceTransfer .
DataItem Nincs data A metódus paraméterétől TraceData függ. Ez az elem tartalmazhat egy elemtömböt vagy egy elemet, így az értékek csomópontok halmazaként DataItem vannak megírva az TraceData elem alatt.

Az adatkimenet az ToString átadott adatobjektumok metódusát használja.
EventID Nincs Mindig jelen van. Paraméterbemenet (id).
Execution ProcessName Mindig jelen van. TraceEventCacheA .
ProcessID Mindig jelen van. TraceEventCacheA .
ThreadID Mindig jelen van. TraceEventCacheA .
Level Nincs Mindig jelen van. Paraméterbemenet (a szám értéke eventType). A 255-nél nagyobb paraméterértékek kimenete 255.
LogicalOperationStack Nincs Attól függ, hogy a jelölő szerepel-e LogicalOperationStack a TraceOutputOptions tulajdonságban. Több logikai művelet is lehet, így az értékek csomópontként LogicalOperation vannak megírva az LogicalOperationStack elem alatt.
Message Nincs Attól függ, hogy egy üzenet szerepel-e a Trace metódushívásban. Ez az elem formázott üzenet, ha formázási argumentumok vannak megadva.
Source Name Mindig jelen van. Paraméterbemenet.
SubType Name Mindig jelen van. Paraméterbemenet.
TimeCreated SystemTime Mindig jelen van. Ha nem jelenik meg a TraceEventCachefájlban, akkor az alapértelmezett időpont az aktuális időpont.
TimeStamp Nincs Attól függ, hogy a jelölő szerepel-e Timestamp a TraceOutputOptions tulajdonságban. TraceEventCacheA .
Type Nincs Mindig jelen van. Mindig a 3 érték.

Az alábbi táblázat az XML-kimenetben feloldott karaktereket mutatja. A menekülés az elem kivételével DataItem az összes elemben és attribútumban megtörténik, amely nem szökik meg, ha a metódus paraméterének TraceData átadott data objektum objektumXPathNavigator. Ha az adatobjektumhoz használ egy XPathNavigator metódust, a rendszer meghívja a MoveToRoot metódust, és a rendszer a teljes gyökércsomópontot kibontatlan adatként nyomon követi.

Szökött karakter Value
& &
< <
> >
" "
|'
0xD
0xA

Konstruktorok

Name Description
XmlWriterTraceListener(Stream, String)

Inicializálja az XmlWriterTraceListener osztály új példányát a megadott névvel, a hibakeresési és nyomkövetési kimenet címzettjeként a megadott stream használatával.

XmlWriterTraceListener(Stream)

Inicializálja az XmlWriterTraceListener osztály új példányát a hibakeresési és nyomkövetési kimenet címzettjeként a megadott stream használatával.

XmlWriterTraceListener(String, String)

Inicializálja az XmlWriterTraceListener osztály új példányát a megadott névvel, a hibakeresési és nyomkövetési kimenet címzettjeként a megadott fájl használatával.

XmlWriterTraceListener(String)

Inicializálja az XmlWriterTraceListener osztály új példányát a hibakeresési és nyomkövetési kimenet címzettjeként a megadott fájl használatával.

XmlWriterTraceListener(TextWriter, String)

Inicializálja az XmlWriterTraceListener osztály új példányát a megadott névvel, és a megadott írót használja a hibakeresési és nyomkövetési kimenet címzettjeként.

XmlWriterTraceListener(TextWriter)

Inicializálja az osztály új példányát a XmlWriterTraceListener megadott író használatával a hibakeresési és nyomkövetési kimenet címzettjeként.

Tulajdonságok

Name Description
Attributes

Lekéri az alkalmazáskonfigurációs fájlban definiált egyéni nyomkövetésfigyelő attribútumokat.

(Öröklődés forrása TraceListener)
Filter

Lekéri vagy beállítja a nyomkövetési szűrőt a nyomkövetési figyelőhöz.

(Öröklődés forrása TraceListener)
IndentLevel

Lekéri vagy beállítja a behúzási szintet.

(Öröklődés forrása TraceListener)
IndentSize

Lekéri vagy beállítja a behúzásban lévő szóközök számát.

(Öröklődés forrása TraceListener)
IsThreadSafe

Egy értéket kap, amely jelzi, hogy a nyomkövetési figyelő szálbiztos-e.

(Öröklődés forrása TraceListener)
Name

Lekéri vagy beállítja ennek TraceListenera névnek a nevét.

(Öröklődés forrása TraceListener)
NeedIndent

Beolvas vagy beállít egy értéket, amely jelzi, hogy be szeretné-e húzni a kimenetet.

(Öröklődés forrása TraceListener)
TraceOutputOptions

Lekéri vagy beállítja a nyomkövetési kimeneti beállításokat.

(Öröklődés forrása TraceListener)
Writer

Lekéri vagy beállítja a nyomkövetési vagy hibakeresési kimenetet fogadó szövegírót.

(Öröklődés forrása TextWriterTraceListener)

Metódusok

Name Description
Close()

Bezárja a Writer figyelőt, hogy többé ne kapjon nyomkövetési vagy hibakeresési kimenetet.

CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
Dispose()

Felszabadítja a .-hez használt összes erőforrást TraceListener.

(Öröklődés forrása TraceListener)
Dispose(Boolean)

Az objektumot megsemmisíti TextWriterTraceListener .

(Öröklődés forrása TextWriterTraceListener)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
Fail(String, String)

Nyomkövetési információkat ír, beleértve egy hibaüzenetet és egy részletes hibaüzenetet a fájlba vagy a streambe.

Fail(String)

Hibaüzenetet küld az osztály megvalósításakor létrehozott figyelőnek TraceListener .

(Öröklődés forrása TraceListener)
Flush()

Kiüríti a kimeneti puffert a Writer.

(Öröklődés forrása TextWriterTraceListener)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetSupportedAttributes()

Lekéri a nyomkövetési figyelő által támogatott egyéni attribútumokat.

(Öröklődés forrása TraceListener)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
InitializeLifetimeService()

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Nyomkövetési információkat, adatobjektumokat és eseményadatokat ír a fájlba vagy streambe.

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

Nyomkövetési információkat, adatobjektumokat és eseményadatokat ír a fájlba vagy streambe.

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

Nyomkövetési információkat, formázott üzenetet és eseményadatokat ír a fájlba vagy streambe.

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

Nyomkövetési információkat, üzenetet és eseményadatokat ír a fájlba vagy a streambe.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Nyomkövetési és eseményinformációkat ír a figyelő adott kimenetére.

(Öröklődés forrása TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Nyomkövetési információkat ír, beleértve egy kapcsolódó tevékenység identitását, egy üzenetet és eseményinformációt a fájlba vagy a streambe.

Write(Object, String)

Kategórianevet és az objektum ToString() metódusának értékét írja az osztály megvalósításakor TraceListener létrehozott figyelőnek.

(Öröklődés forrása TraceListener)
Write(Object)

Az objektum ToString() metódusának értékét az osztály megvalósításakor TraceListener létrehozott figyelőnek írja.

(Öröklődés forrása TraceListener)
Write(String, String)

Kategórianevet és üzenetet ír az osztály megvalósításakor TraceListener létrehozott figyelőnek.

(Öröklődés forrása TraceListener)
Write(String)

Szó szerinti üzenetet ír a fájlba vagy a streambe további környezeti információk nélkül.

WriteIndent()

Az osztály megvalósításakor létrehozott figyelőbe írja a behúzást, és alaphelyzetbe állítja a NeedIndent tulajdonságot false.

(Öröklődés forrása TraceListener)
WriteLine(Object, String)

Egy kategórianevet és az objektum ToString() metódusának értékét írja az osztály megvalósításakor TraceListener létrehozott figyelőnek, amelyet egy sor terminátor követ.

(Öröklődés forrása TraceListener)
WriteLine(Object)

Az objektum ToString() metódusának értékét az osztály megvalósításakor TraceListener létrehozott figyelőnek írja, amelyet egy sor terminátor követ.

(Öröklődés forrása TraceListener)
WriteLine(String, String)

Egy kategórianevet és egy üzenetet ír a figyelőnek, amelyet az TraceListener osztály megvalósításakor hoz létre, majd egy sor terminátort.

(Öröklődés forrása TraceListener)
WriteLine(String)

Verbatim üzenetet ír további környezeti információk nélkül, majd az aktuális sor terminátorát a fájlba vagy streambe.

A következőre érvényes: