XmlWriterTraceListener Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengarahkan output pelacakan atau penelusuran kesalahan sebagai data yang dikodekan XML ke TextWriter atau ke Stream, seperti FileStream.
public ref class XmlWriterTraceListener : System::Diagnostics::TextWriterTraceListener
public class XmlWriterTraceListener : System.Diagnostics.TextWriterTraceListener
type XmlWriterTraceListener = class
inherit TextWriterTraceListener
Public Class XmlWriterTraceListener
Inherits TextWriterTraceListener
- Warisan
Contoh
Contoh kode berikut menunjukkan penggunaan XmlWriterTraceListener kelas untuk menulis data yang lolos dan tidak lolos ke log file.
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
Keterangan
Catatan
Anda harus memiliki izin kode yang tidak terkelola untuk membuat instans XmlWriterTraceListener kelas.
Kelas XmlWriterTraceListener mengonversi informasi pelacakan dan penelusuran kesalahan menjadi aliran teks yang dikodekan XML. Deskripsi output XML diperlihatkan dalam tabel berikut. Anda dapat menggunakan Alat Penampil Jejak Layanan (SvcTraceViewer.exe) untuk menampilkan output XML.
Anda dapat membuat XmlWriterTraceListener dalam kode Anda. Atau, untuk aplikasi .NET Framework, Anda dapat mengaktifkan atau menonaktifkan XmlWriterTraceListener melalui file konfigurasi aplikasi lalu menggunakan yang dikonfigurasi XmlWriterTraceListener dalam aplikasi Anda. Untuk mengonfigurasi XmlWriterTraceListener, edit file konfigurasi yang sesuai dengan nama aplikasi Anda. Dalam file ini, Anda dapat menambahkan atau menghapus pendengar, mengatur properti untuk pendengar, atau menghapus pendengar. File konfigurasi harus diformat seperti contoh berikut.
<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>
Kelas XmlWriterTraceListener mewarisi Filter properti dari kelas TraceListenerdasar . Properti Filter memungkinkan tingkat pemfilteran output jejak tambahan di pendengar. Jika ada filter, Trace
metode pendengar pelacakan memanggil ShouldTrace metode filter untuk menentukan apakah akan memancarkan jejak.
Catatan
Jika upaya dilakukan untuk menulis ke file yang sedang digunakan atau tidak tersedia, nama file secara otomatis diawali oleh GUID.
Catatan
Metode pendengar dimaksudkan untuk dipanggil dengan metode Debugkelas , Trace, dan TraceSource . Metode pendengar tidak dimaksudkan untuk dipanggil langsung dari kode aplikasi. Pendengar XmlWriterTraceListener terutama ditujukan untuk digunakan oleh TraceSource kelas . Metode Write dan WriteLine dapat dipanggil oleh Trace kelas dan Debug , dan nilai default disediakan untuk elemen XML yang Trace dan Debug tidak menyediakan nilai untuk.
Tabel berikut ini menjelaskan elemen dan atribut output XML.
Elemen | Atribut | Output | Catatan |
---|---|---|---|
CallStack |
Tidak ada | Tergantung pada keberadaan Callstack bendera di TraceOutputOptions properti . | Karakter khusus seperti > atau < diganti dengan urutan escape. Lihat tabel terjemahan karakter yang lolos yang mengikutinya. |
Computer |
Tidak ada | Selalu ada. | Nilai MachineName properti . |
Correlation |
ActivityID |
Selalu ada | Jika tidak ditentukan, defaultnya adalah GUID kosong. |
RelatedActivityID |
Tergantung pada keberadaan relatedActivityId parameter dalam panggilan metode Pelacakan. |
Parameter relatedActivityId TraceTransfer metode . |
|
DataItem |
Tidak ada | Tergantung pada data parameter TraceData metode . |
Elemen ini dapat berisi array elemen atau satu elemen, sehingga nilai ditulis sebagai sekumpulan DataItem simpul di TraceData bawah elemen .Output data menggunakan ToString metode objek data yang diteruskan. |
EventID |
Tidak ada | Selalu ada. | Input parameter (id ). |
Execution |
ProcessName |
Selalu ada. | TraceEventCacheDari . |
ProcessID |
Selalu ada. | TraceEventCacheDari . | |
ThreadID |
Selalu ada. | TraceEventCacheDari . | |
Level |
Tidak ada | Selalu ada. | Input parameter (nilai numerik dari eventType ). Nilai parameter yang lebih besar dari 255 adalah output sebagai 255. |
LogicalOperationStack |
Tidak ada | Tergantung pada keberadaan LogicalOperationStack bendera di TraceOutputOptions properti . | Mungkin ada lebih dari satu operasi logis, sehingga nilai ditulis sebagai LogicalOperation simpul di LogicalOperationStack bawah elemen . |
Message |
Tidak ada | Tergantung pada keberadaan pesan dalam panggilan metode Pelacakan. | Elemen ini adalah pesan yang diformat jika argumen pemformatan disediakan. |
Source |
Name |
Selalu ada. | Input parameter. |
SubType |
Name |
Selalu ada. | Input parameter. |
TimeCreated |
SystemTime |
Selalu ada. | Jika tidak ada di TraceEventCache, defaultnya adalah waktu saat ini. |
TimeStamp |
Tidak ada | Tergantung pada keberadaan Timestamp bendera di TraceOutputOptions properti . | TraceEventCacheDari . |
Type |
Tidak ada | Selalu ada. | Selalu nilai 3. |
Tabel berikut ini memperlihatkan karakter yang lolos dalam output XML. Pelepasan terjadi di semua elemen dan atribut dengan pengecualian DataItem
elemen , yang tidak lolos jika objek yang diteruskan ke data
parameter TraceData metode adalah XPathNavigator objek . XPathNavigator Jika digunakan untuk objek data, MoveToRoot metode dipanggil dan seluruh simpul akar ditelusuri sebagai data yang tidak dilewati.
Karakter escape | Nilai |
---|---|
& | & |
< | < |
> | > |
" | " |
|' | |
0xD | |
0xA |
Konstruktor
XmlWriterTraceListener(Stream) |
Menginisialisasi instans XmlWriterTraceListener baru kelas, menggunakan aliran yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan. |
XmlWriterTraceListener(Stream, String) |
Menginisialisasi instans XmlWriterTraceListener baru kelas dengan nama yang ditentukan, menggunakan aliran yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan. |
XmlWriterTraceListener(String) |
Menginisialisasi instans XmlWriterTraceListener baru kelas, menggunakan file yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan. |
XmlWriterTraceListener(String, String) |
Menginisialisasi instans XmlWriterTraceListener baru kelas dengan nama yang ditentukan, menggunakan file yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan. |
XmlWriterTraceListener(TextWriter) |
Menginisialisasi instans XmlWriterTraceListener baru kelas menggunakan penulis yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan. |
XmlWriterTraceListener(TextWriter, String) |
Menginisialisasi instans XmlWriterTraceListener baru kelas dengan nama yang ditentukan, menggunakan penulis yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan. |
Properti
Attributes |
Mendapatkan atribut listener pelacakan kustom yang ditentukan dalam file konfigurasi aplikasi. (Diperoleh dari TraceListener) |
Filter |
Mendapatkan atau mengatur filter pelacakan untuk pendengar pelacakan. (Diperoleh dari TraceListener) |
IndentLevel |
Mendapatkan atau mengatur tingkat inden. (Diperoleh dari TraceListener) |
IndentSize |
Mendapatkan atau mengatur jumlah spasi dalam inden. (Diperoleh dari TraceListener) |
IsThreadSafe |
Mendapatkan nilai yang menunjukkan apakah pendengar jejak aman untuk utas. (Diperoleh dari TraceListener) |
Name |
Mendapatkan atau menetapkan nama untuk ini TraceListener. (Diperoleh dari TraceListener) |
NeedIndent |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengindentasi output. (Diperoleh dari TraceListener) |
TraceOutputOptions |
Mendapatkan atau mengatur opsi output jejak. (Diperoleh dari TraceListener) |
Writer |
Mendapatkan atau mengatur penulis teks yang menerima output penelusuran atau penelusuran kesalahan. (Diperoleh dari TextWriterTraceListener) |
Metode
Close() |
Writer Menutup untuk pendengar ini sehingga tidak lagi menerima output pelacakan atau penelusuran kesalahan. |
CreateObjRef(Type) |
Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh. (Diperoleh dari MarshalByRefObject) |
Dispose() |
Merilis semua sumber daya yang TraceListenerdigunakan oleh . (Diperoleh dari TraceListener) |
Dispose(Boolean) |
Buang objek ini TextWriterTraceListener . (Diperoleh dari TextWriterTraceListener) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Fail(String) |
Memancarkan pesan kesalahan ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas. (Diperoleh dari TraceListener) |
Fail(String, String) |
Menulis informasi pelacakan termasuk pesan kesalahan dan pesan kesalahan terperinci ke file atau aliran. |
Flush() |
Menghapus buffer output untuk Writer. (Diperoleh dari TextWriterTraceListener) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetLifetimeService() |
Kedaluwarsa.
Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
GetSupportedAttributes() |
Mendapatkan atribut kustom yang didukung oleh pendengar pelacakan. (Diperoleh dari TraceListener) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek saat ini MarshalByRefObject . (Diperoleh dari MarshalByRefObject) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Menulis informasi pelacakan, objek data, dan informasi peristiwa ke file atau streaming. |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Menulis informasi pelacakan, objek data, dan informasi peristiwa ke file atau aliran. |
TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Menulis informasi pelacakan dan peristiwa ke output spesifik pendengar. (Diperoleh dari TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Menulis informasi pelacakan, pesan, dan informasi peristiwa ke file atau streaming. |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Menulis informasi pelacakan, pesan yang diformat, dan informasi peristiwa ke file atau streaming. |
TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Menulis informasi pelacakan termasuk identitas aktivitas terkait, pesan, dan informasi peristiwa ke file atau streaming. |
Write(Object) |
Menulis nilai metode objek ToString() ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas. (Diperoleh dari TraceListener) |
Write(Object, String) |
Menulis nama kategori dan nilai metode objek ToString() ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas. (Diperoleh dari TraceListener) |
Write(String) |
Menulis pesan verbatim tanpa informasi konteks tambahan ke file atau aliran. |
Write(String, String) |
Menulis nama kategori dan pesan ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas. (Diperoleh dari TraceListener) |
WriteIndent() |
Menulis inden ke pendengar yang Anda buat saat mengimplementasikan kelas ini, dan mengatur ulang NeedIndent properti ke |
WriteLine(Object) |
Menulis nilai metode objek ToString() ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas, diikuti dengan terminator baris. (Diperoleh dari TraceListener) |
WriteLine(Object, String) |
Menulis nama kategori dan nilai metode objek ToString() ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas, diikuti dengan terminator baris. (Diperoleh dari TraceListener) |
WriteLine(String) |
Menulis pesan verbatim tanpa informasi konteks tambahan yang diikuti oleh terminator baris saat ini ke file atau aliran. |
WriteLine(String, String) |
Menulis nama kategori dan pesan ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas, diikuti dengan terminator baris. (Diperoleh dari TraceListener) |