Naslouchací procesy trasování
Při použití trasování, ladění a musíte mít mechanismus pro shromažďování a zaznamenávání odesílaných TraceSource zpráv. Trasovací zprávy jsou přijímány naslouchači. Účelem tohoto naslouchací proces je shromažďování, ukládání a směrovat trasovací zprávy. Posluchači přímý výstup trasování příslušný cíli, jako je protokol, okno nebo textový soubor.
Naslouchací proces je k dispozici pro třídy Ladění, Trasování a , z nichž každý může odesílat svůj výstup do různých TraceSource objektů naslouchacího procesu. Toto jsou běžně používané předdefinované naslouchací programy:
Výstup TextWriterTraceListener přesměruje do instance třídy nebo na TextWriter cokoli, co je Stream třída. Může také zapisovat do konzoly nebo do souboru, protože se jedná o Stream třídy.
Výstup EventLogTraceListener se přesměruje do protokolu událostí.
DefaultTraceListener Vysílá zprávy Write a WriteLine do OutputDebugString a do metody Debugger.Log. V Visual Studio to způsobí, že se zprávy ladění zobrazí v okně Výstup. Neúspěšné a neúspěšné zprávy Assert se také vysílají do výstupního Windows API a metody Debugger.Log a také způsobí zobrazení okna se zprávou. Toto chování je výchozí chování pro zprávy ladění a trasování, protože DefaultTraceListener je automaticky zahrnut do každé kolekce a je jediným naslouchacím
Listenersprocesem automaticky zahrnut.Výstup ConsoleTraceListener trasování nebo ladění směruje do standardního výstupu nebo standardního chybového streamu.
Výstup trasování nebo ladění směruje do zapisovače textu, jako je zapisovač datového proudu, nebo do datového DelimitedListTraceListener proudu, jako je například datový proud souboru. Výstup trasování je ve formátu textu s oddělovači, který používá oddělovač určený Delimiter vlastností .
Výstup trasování nebo ladění směruje jako data kódovaná xml do objektu XmlWriterTraceListener nebo , jako je například TextWriter Stream FileStream .
Pokud chcete, aby kterýkoli naslouchací proces kromě přijímán DefaultTraceListener jako Debug(Ladění), Trace (Trasování) a TraceSource output (výstup), musíte ho přidat do Listeners kolekce. Další informace najdete v tématu Postupy: Vytváření a inicializace naslouchacích služeb trasování a Postupy: Použití traceSource a filtrů s naslouchači trasování. Každý naslouchací proces v kolekci Naslouchacích proces získá stejné zprávy z výstupních metod trasování. Předpokládejme například, že jste nastavili dva naslouchací proces: TextWriterTraceListener a EventLogTraceListener. Každý naslouchací proces obdrží stejnou zprávu. TextWriterTraceListener bude směrovat svůj výstup do datového proudu a EventLogTraceListener bude směrovat svůj výstup do protokolu událostí.
Následující příklad ukazuje, jak odeslat výstup do kolekce naslouchacích objektů.
' 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");
Ladění a trasování sdílí stejnou kolekci naslouchacích procesů, takže pokud přidáte objekt naslouchacího procesu do kolekce Debug.Listeners ve vaší aplikaci, přidá se také do kolekce Trace.Listeners.
Následující příklad ukazuje použití naslouchacího procesu k odeslání informací o trasování do konzoly:
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));
Developer-Defined naslouchacích zařízení
Vlastní naslouchací proces můžete definovat tak, že dědíte ze základní třídy TraceListener a přepíšete její metody vlastními metodami. Další informace o vytváření naslouchacích nástrojů definovaných vývojáře najdete v TraceListener referenčních .NET Framework článku.