İz Dinleyicileri

İzleme, Hata Ayıklama ve TraceSourcekullanırken, gönderilen iletileri toplamak ve kaydetmek için bir mekanizmanız olmalıdır. İzleme iletileri dinleyiciler tarafından alınır. Dinleyicinin amacı, izleme iletilerini toplamak, depolamak ve yönlendirmektir. Dinleyiciler izleme çıkışını günlük, pencere veya metin dosyası gibi uygun bir hedefe yönlendirir.

Dinleyiciler, her biri çıkışını çeşitli dinleyici nesnelerine gönderebilen Hata Ayıklama, İzleme ve TraceSource sınıflar için kullanılabilir. Yaygın olarak kullanılan önceden tanımlanmış dinleyiciler şunlardır:

  • Çıkış TextWriterTraceListener , sınıfın TextWriter bir örneğine veya sınıf olan herhangi bir Stream şeye yeniden yönlendirir. Bunlar sınıflar Stream olduğundan konsola veya dosyaya da yazabilir.

  • Çıkış, EventLogTraceListener bir olay günlüğüne yeniden yönlendirilir.

  • ADefaultTraceListener, Write ve WriteLine iletilerini OutputDebugString'e ve Debugger.Log yöntemine yayar. Visual Studio'da bu, hata ayıklama iletilerinin Çıkış penceresinde görünmesine neden olur. Başarısız ve başarısız Assert iletileri outputDebugString Windows API'sine ve Debugger.Log yöntemine de yayılarak bir ileti kutusunun görüntülenmesine neden olur. DefaultTraceListener her koleksiyona otomatik olarak eklendiğinden ve otomatik Listeners olarak eklenen tek dinleyici olduğundan, bu davranış Hata Ayıklama ve İzleme iletileri için varsayılan davranıştır.

  • bir ConsoleTraceListener izleme veya hata ayıklama çıkışını standart çıkışa veya standart hata akışına yönlendirir.

  • İzleme DelimitedListTraceListener veya hata ayıklama çıktısını akış yazıcısı gibi bir metin yazıcısına veya dosya akışı gibi bir akışa yönlendirir. İzleme çıkışı, özelliği tarafından Delimiter belirtilen sınırlayıcıyı kullanan sınırlandırılmış bir metin biçimindedir.

  • XML XmlWriterTraceListener ile kodlanmış veriler TextWriter olarak izleme veya hata ayıklama çıkışını veya gibi bir StreamFileStreamöğesine yönlendirir.

dışında herhangi bir dinleyicinin DefaultTraceListener Hata Ayıklama, İzleme ve TraceSource çıkış almasını istiyorsanız, bunu koleksiyona Listeners eklemeniz gerekir. Daha fazla bilgi için bkz . Nasıl yapılır: İzleme Dinleyicileri Oluşturma ve Başlatma ve Nasıl Yapılır: İzleme Dinleyicileriyle TraceSource ve Filtreleri Kullanma. Dinleyiciler koleksiyonundaki herhangi bir dinleyici, izleme çıkış yöntemlerinden aynı iletileri alır. Örneğin, iki dinleyici ayarladığınızı varsayalım: bir TextWriterTraceListener ve bir EventLogTraceListener. Her dinleyici aynı iletiyi alır. TextWriterTraceListener çıktısını bir akışa, EventLogTraceListener ise çıkışını bir olay günlüğüne yönlendirir.

Aşağıdaki örnekte Dinleyiciler koleksiyonuna çıkış gönderme gösterilmektedir.

' Use this example when debugging.  
Debug.WriteLine("Error in Widget 42")  
' Use this example when tracing.  
Trace.WriteLine("Error in Widget 42")  
// Use this example when debugging.  
System.Diagnostics.Debug.WriteLine("Error in Widget 42");  
// Use this example when tracing.  
System.Diagnostics.Trace.WriteLine("Error in Widget 42");  

Hata ayıklama ve izleme aynı Dinleyiciler koleksiyonunu paylaşır, bu nedenle uygulamanızdaki debug.listeners koleksiyonuna bir dinleyici nesnesi eklerseniz trace.listeners koleksiyonuna da eklenir.

Aşağıdaki örnekte, izleme bilgilerini konsola göndermek için dinleyicinin nasıl kullanılacağı gösterilmektedir:

Trace.Listeners.Clear()  
Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))  
System.Diagnostics.Trace.Listeners.Clear();  
System.Diagnostics.Trace.Listeners.Add(  
   new System.Diagnostics.TextWriterTraceListener(Console.Out));  

Geliştirici Tanımlı Dinleyiciler

TraceListener temel sınıfından devralarak ve yöntemlerini özelleştirilmiş yöntemlerinizle geçersiz kılarak kendi dinleyicilerinizi tanımlayabilirsiniz. Geliştirici tanımlı dinleyiciler oluşturma hakkında daha fazla bilgi için bkz TraceListener . .NET Framework başvurusu.

Ayrıca bkz.