XmlWriterTraceListener Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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 |
| 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. |