XmlWriterTraceListener Sınıf

Tanım

XML ile kodlanmış veriler TextWriter olarak çıkışı izleme veya hata ayıklamayı veya örneğin FileStreambir Streamöğesine yönlendirir.

public ref class XmlWriterTraceListener : System::Diagnostics::TextWriterTraceListener
public class XmlWriterTraceListener : System.Diagnostics.TextWriterTraceListener
type XmlWriterTraceListener = class
    inherit TextWriterTraceListener
Public Class XmlWriterTraceListener
Inherits TextWriterTraceListener
Devralma

Örnekler

Aşağıdaki kod örneği, hem kaçış hem de kaçışsız verileri dosya günlüklerine yazmak için sınıfının kullanımını XmlWriterTraceListener gösterir.

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

Açıklamalar

Not

Sınıfının bir örneğini XmlWriterTraceListener oluşturmak için yönetilmeyen kod izniniz olmalıdır.

sınıfı, XmlWriterTraceListener izleme ve hata ayıklama bilgilerini XML ile kodlanmış bir metin akışına dönüştürür. XML çıkışının açıklaması, izleyen tablolarda gösterilir. XML çıkışını görüntülemek için Hizmet İzleme GörüntüleyiciSi Aracı'nı (SvcTraceViewer.exe) kullanabilirsiniz.

Kodunuzda bir XmlWriterTraceListener oluşturabilirsiniz. Alternatif olarak, .NET Framework uygulamalar için bir'i uygulama yapılandırma dosyası aracılığıyla etkinleştirebilir veya devre dışı bırakabilir XmlWriterTraceListener ve ardından uygulamanızda yapılandırılan XmlWriterTraceListener öğesini kullanabilirsiniz. yapılandırmak XmlWriterTraceListeneriçin, uygulamanızın adına karşılık gelen yapılandırma dosyasını düzenleyin. Bu dosyada, dinleyici ekleyebilir veya kaldırabilir, dinleyicinin özelliklerini ayarlayabilir veya dinleyicileri kaldırabilirsiniz. Yapılandırma dosyası aşağıdaki örnekte olduğu gibi biçimlendirilmelidir.

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

XmlWriterTraceListener sınıfı, özelliğini temel sınıfından TraceListenerdevralırFilter. Filter özelliği, dinleyicide ek bir izleme çıkışı filtreleme düzeyi sağlar. Bir filtre varsa, izleme dinleyicisinin yöntemleri, Trace izlemenin yayılıp yayılmayacağını belirlemek için filtrenin yöntemini çağırır ShouldTrace .

Not

Kullanımda olan veya kullanılamayan bir dosyaya yazma girişiminde bulunulduysa, dosya adına otomatik olarak bir GUID ön eki eklenir.

Not

Dinleyici yöntemleri, , Traceve TraceSource sınıflarının yöntemleri Debugtarafından çağrılmaya yöneliktir. Dinleyici yöntemlerinin doğrudan uygulama kodundan çağrılması amaçlanmamıştır. XmlWriterTraceListener Dinleyici öncelikli olarak sınıfı tarafından TraceSource kullanılmak üzere tasarlanmıştır. Write ve yöntemleri ve DebugWriteLine sınıfları tarafından Trace çağrılabilir ve için değer sağlayıp sağlamayan XML öğeleri TraceDebug için varsayılan değerler sağlanır.

Aşağıdaki tabloda XML çıkışının öğeleri ve öznitelikleri açıklanmaktadır.

Öğe Öznitelikler Çıktı Notlar
CallStack Hiçbiri Özelliğinde bayrağının CallstackTraceOutputOptions varlığına bağlıdır. veya < gibi > özel karakterler kaçış dizileriyle değiştirilir. Ardından gelen kaçış karakteri çeviri tablosuna bakın.
Computer Hiçbiri Her zaman varsın. özelliğinin MachineName değeri.
Correlation ActivityID Her zaman sun Belirtilmezse, varsayılan değer boş bir GUID'dir.
RelatedActivityID İzleme yöntemi çağrısında parametresinin relatedActivityId varlığına bağlıdır. relatedActivityId yönteminin TraceTransfer parametresi.
DataItem Hiçbiri yönteminin data parametresine TraceData bağlıdır. Bu öğe bir öğe dizisi veya bir öğe içerebilir, bu nedenle değerler öğenin altında TraceData bir düğüm kümesi DataItem olarak yazılır.

Veri çıkışı, geçirilen veri nesnelerinin yöntemini kullanır ToString .
EventID Hiçbiri Her zaman varsın. Parametre girişi (id).
Execution ProcessName Her zaman varsın. uygulamasından TraceEventCache.
ProcessID Her zaman varsın. uygulamasından TraceEventCache.
ThreadID Her zaman varsın. uygulamasından TraceEventCache.
Level Hiçbiri Her zaman varsın. Parametre girişi (sayısal değeri eventType). 255'ten büyük parametre değerleri 255 olarak çıkıştır.
LogicalOperationStack Hiçbiri Özelliğinde bayrağının LogicalOperationStackTraceOutputOptions varlığına bağlıdır. Birden fazla mantıksal işlem olabileceğinden, değerler öğesinin altına LogicalOperationStack düğüm olarak LogicalOperation yazılır.
Message Hiçbiri İzleme yöntemi çağrısında bir iletinin varlığına bağlıdır. Bu öğe, biçimlendirme bağımsız değişkenleri sağlanıyorsa biçimlendirilmiş bir iletidir.
Source Name Her zaman varsın. Parametre girişi.
SubType Name Her zaman varsın. Parametre girişi.
TimeCreated SystemTime Her zaman varsın. içinde TraceEventCacheyoksa, varsayılan geçerli saattir.
TimeStamp Hiçbiri Özelliğinde bayrağının TimestampTraceOutputOptions varlığına bağlıdır. uygulamasından TraceEventCache.
Type Hiçbiri Her zaman varsın. Her zaman 3 değeridir.

Aşağıdaki tabloda, XML çıkışında kaçış karakteri olan karakterler gösterilmektedir. Kaçış, yöntemin parametresine TraceData geçirilen data nesne bir XPathNavigator nesneyse kaçış olmayan öğesi dışında DataItem tüm öğelerde ve özniteliklerde gerçekleşir. veri nesnesi MoveToRoot için bir XPathNavigator kullanılırsa, yöntemi çağrılır ve kök düğümün tamamı ayarlanmamış veriler olarak izlenmiş olur.

Kaçan karakter Değer
& &
< <
> >
" "
|'
0xD
0xA

Oluşturucular

XmlWriterTraceListener(Stream)

Hata ayıklama ve izleme çıkışının XmlWriterTraceListener alıcısı olarak belirtilen akışı kullanarak sınıfının yeni bir örneğini başlatır.

XmlWriterTraceListener(Stream, String)

Hata ayıklama ve izleme çıkışının XmlWriterTraceListener alıcısı olarak belirtilen akışı kullanarak belirtilen adla sınıfının yeni bir örneğini başlatır.

XmlWriterTraceListener(String)

Hata ayıklama ve izleme çıkışının XmlWriterTraceListener alıcısı olarak belirtilen dosyayı kullanarak sınıfının yeni bir örneğini başlatır.

XmlWriterTraceListener(String, String)

Hata ayıklama ve izleme çıkışının XmlWriterTraceListener alıcısı olarak belirtilen dosyayı kullanarak belirtilen adla sınıfının yeni bir örneğini başlatır.

XmlWriterTraceListener(TextWriter)

Hata ayıklama ve izleme çıkışının XmlWriterTraceListener alıcısı olarak belirtilen yazıcıyı kullanarak sınıfının yeni bir örneğini başlatır.

XmlWriterTraceListener(TextWriter, String)

Hata ayıklama ve izleme çıkışının XmlWriterTraceListener alıcısı olarak belirtilen yazıcıyı kullanarak belirtilen adla sınıfının yeni bir örneğini başlatır.

Özellikler

Attributes

Uygulama yapılandırma dosyasında tanımlanan özel izleme dinleyicisi özniteliklerini alır.

(Devralındığı yer: TraceListener)
Filter

İzleme dinleyicisi için izleme filtresini alır veya ayarlar.

(Devralındığı yer: TraceListener)
IndentLevel

Girinti düzeyini alır veya ayarlar.

(Devralındığı yer: TraceListener)
IndentSize

Girintideki boşlukların sayısını alır veya ayarlar.

(Devralındığı yer: TraceListener)
IsThreadSafe

İzleme dinleyicisinin iş parçacığı güvenli olup olmadığını belirten bir değer alır.

(Devralındığı yer: TraceListener)
Name

Bu TraceListeneriçin bir ad alır veya ayarlar.

(Devralındığı yer: TraceListener)
NeedIndent

Çıkışı girintileyip girintilemeyeceğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: TraceListener)
TraceOutputOptions

İzleme çıkışı seçeneklerini alır veya ayarlar.

(Devralındığı yer: TraceListener)
Writer

İzleme veya hata ayıklama çıkışını alan metin yazıcısını alır veya ayarlar.

(Devralındığı yer: TextWriterTraceListener)

Yöntemler

Close()

Writer Artık izleme veya hata ayıklama çıkışı almaması için bu dinleyicinin öğesini kapatır.

CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Dispose()

TraceListener tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: TraceListener)
Dispose(Boolean)

Bu TextWriterTraceListener nesneyi atar.

(Devralındığı yer: TextWriterTraceListener)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Fail(String)

sınıfını uygularken oluşturduğunuz dinleyiciye bir hata iletisi yayar TraceListener .

(Devralındığı yer: TraceListener)
Fail(String, String)

Bir hata iletisi ve ayrıntılı bir hata iletisi dahil olmak üzere izleme bilgilerini dosyaya veya akışa yazar.

Flush()

için çıkış arabelleği temizler Writer.

(Devralındığı yer: TextWriterTraceListener)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetSupportedAttributes()

İzleme dinleyicisi tarafından desteklenen özel öznitelikleri alır.

(Devralındığı yer: TraceListener)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

İzleme bilgilerini, veri nesnesini ve olay bilgilerini dosyaya veya akışa yazar.

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

İzleme bilgilerini, veri nesnelerini ve olay bilgilerini dosyaya veya akışa yazar.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

dinleyiciye özgü çıkışa izleme ve olay bilgileri yazar.

(Devralındığı yer: TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

İzleme bilgilerini, bir iletiyi ve olay bilgilerini dosyaya veya akışa yazar.

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

İzleme bilgilerini, biçimlendirilmiş bir iletiyi ve olay bilgilerini dosyaya veya akışa yazar.

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

İlgili etkinliğin kimliği, bir ileti ve olay bilgileri dahil olmak üzere izleme bilgilerini dosyaya veya akışa yazar.

Write(Object)

nesnesinin ToString() yönteminin değerini sınıfını uygularken oluşturduğunuz dinleyiciye TraceListener yazar.

(Devralındığı yer: TraceListener)
Write(Object, String)

Sınıfını uygularken oluşturduğunuz dinleyiciye bir kategori adı ve nesnenin ToString() yönteminin TraceListener değerini yazar.

(Devralındığı yer: TraceListener)
Write(String)

Dosyaya veya akışa ek bağlam bilgisi olmadan ayrıntılı bir ileti yazar.

Write(String, String)

Sınıfını uygularken TraceListener oluşturduğunuz dinleyiciye bir kategori adı ve ileti yazar.

(Devralındığı yer: TraceListener)
WriteIndent()

Bu sınıfı uygularken oluşturduğunuz dinleyiciye girintiyi yazar ve özelliğini olarak falsesıfırlarNeedIndent.

(Devralındığı yer: TraceListener)
WriteLine(Object)

nesnesinin ToString() yönteminin değerini sınıfını uygularken oluşturduğunuz dinleyiciye TraceListener yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TraceListener)
WriteLine(Object, String)

Sınıfını uygularken oluşturduğunuz dinleyiciye bir kategori adı ve nesnenin ToString() yönteminin TraceListener değerini yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TraceListener)
WriteLine(String)

Dosyaya veya akışa ek bağlam bilgisi ve ardından geçerli satır sonlandırıcısı olmadan ayrıntılı bir ileti yazar.

WriteLine(String, String)

Sınıfı uygularken TraceListener oluşturduğunuz dinleyiciye bir kategori adı ve ileti yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TraceListener)

Şunlara uygulanır