Aracılığıyla paylaş


XmlWriterTraceListener Sınıf

Tanım

XML ile kodlanmış veriler TextWriter olarak izleme veya hata ayıklama çıkışını veya gibi bir StreamFileStreamöğ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

Uyarı

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, dinleyici ö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 .

Uyarı

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

Uyarı

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. Dinleyici XmlWriterTraceListener öncelikli olarak sınıfı tarafından TraceSource kullanılmak üzere tasarlanmıştır. Write ve WriteLine yöntemleri ve Debug 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 Çıkış 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. Aşağıdaki kaçış karakteri çeviri tablosuna bakın.
Computer Hiçbiri Her zaman var. özelliğinin MachineName değeri.
Correlation ActivityID Her zaman var Belirtilmezse, varsayılan değer boş bir GUID'dir.
RelatedActivityID trace 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 öğesinin DataItem altında TraceData bir düğüm kümesi olarak yazılır.

Veri çıkışı, ToString geçirilen veri nesnelerinin yöntemini kullanır.
EventID Hiçbiri Her zaman var. Parametre girişi (id ).
Execution ProcessName Her zaman var. uygulamasından TraceEventCache.
ProcessID Her zaman var. uygulamasından TraceEventCache.
ThreadID Her zaman var. uygulamasından TraceEventCache.
Level Hiçbiri Her zaman var. 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. Biçimlendirme bağımsız değişkenleri sağlanmışsa bu öğe biçimlendirilmiş bir iletidir.
Source Name Her zaman var. Parametre girişi.
SubType Name Her zaman var. Parametre girişi.
TimeCreated SystemTime Her zaman var. içinde TraceEventCacheyoksa, varsayılan değer 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 var. Her zaman 3 değeridir.

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

Kaçış karakteri Değer
& &
< <
> >
" "
|'
0xD
0xA

Oluşturucular

Name Description
XmlWriterTraceListener(Stream, String)

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

XmlWriterTraceListener(Stream)

Hata ayıklama ve izleme çıkışının XmlWriterTraceListener alıcısı olarak belirtilen akışı kullanarak sınıfı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 sınıfın yeni bir örneğini belirtilen adla 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 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 sınıfın yeni bir örneğini belirtilen adla 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 yeni bir örneğini başlatır.

Özellikler

Name Description
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şluk 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 çıktısı 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

Name Description
Close()

Writer artık izleme veya hata ayıklama çıkışı almaması için bu dinleyici için öğ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()

tarafından TraceListenerkullanı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, String)

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

Fail(String)

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

(Devralındığı yer: TraceListener)
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()

Geçerli örneğin Type 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 Objectbasit 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 bir dize döndürür.

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

Dosyaya veya akışa izleme bilgileri, veri nesnesi ve olay bilgileri yazar.

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

İzleme bilgilerini, veri nesnelerini 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.

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

Dosyaya veya akışa izleme bilgileri, ileti ve olay bilgileri yazar.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

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

(Devralındığı yer: TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

dosyaya veya akışa ilgili etkinliğin kimliği, ileti ve olay bilgileri gibi izleme bilgilerini yazar.

Write(Object, String)

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

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

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

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

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

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

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

WriteIndent()

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

(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 ve ardından bir satır sonlandırıcı yazar.

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

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

(Devralındığı yer: TraceListener)
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)
WriteLine(String)

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

Şunlara uygulanır