XmlWriterTraceListener Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 |
| 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. |