Bagikan melalui


XmlWriterTraceListener Kelas

Definisi

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

(Diperoleh dari TraceListener)
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)

Berlaku untuk