Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.
W przypadku korzystania z funkcji Trace, Debug i TraceSource, musisz mieć mechanizm zbierania i rejestrowania wysyłanych komunikatów. Komunikaty śledzenia są odbierane przez słuchacze. Odbiornik służy do zbierania, przechowywania i śledzenia tras komunikatów. Odbiorniki kierują dane wyjściowe śledzenia do odpowiedniego obiektu docelowego, takiego jak dziennik, okno lub plik tekstowy.
Odbiorniki są dostępne dla klas Debug,Trace i TraceSource , z których każdy może wysyłać dane wyjściowe do różnych obiektów odbiornika. Poniżej przedstawiono często używane wstępnie zdefiniowane odbiorniki:
Element TextWriterTraceListener przekierowuje dane wyjściowe do wystąpienia klasy TextWriter lub do czegokolwiek, co jest klasą Stream. Może również zapisywać do konsoli lub do pliku, ponieważ są to klasy Stream.
Dane EventLogTraceListener wyjściowe są przekierowywane do dziennika zdarzeń.
Element DefaultTraceListener emituje komunikaty Write i WriteLine do parametru OutputDebugString i do metody Debugger.Log. To spowoduje wyświetlenie komunikatów debugowania w oknie wyjścia programu Visual Studio. Komunikaty błędu i nieudane komunikaty asercji są również emitowane do interfejsu API systemu Windows OutputDebugString oraz metody Debugger.Log, a także powodują wyświetlenie komunikatu w oknie. To jest zachowanie domyślne dla komunikatów Debug i Trace, ponieważ DefaultTraceListener jest automatycznie dołączany do każdej
Listeners
kolekcji i jest jedynym odbiornikiem automatycznie dołączonym.Funkcja ConsoleTraceListener kieruje śledzenie lub debugowanie danych wyjściowych do standardowych danych wyjściowych lub standardowego strumienia błędów.
Funkcja DelimitedListTraceListener kieruje dane wyjściowe śledzenia lub debugowania do zapisującego tekst, takiego jak zapisywacz strumieni, lub do strumienia, takiego jak strumień pliku. Wynik śledzenia jest w formacie tekstowym rozdzielanym, który używa ogranicznika określonego przez właściwość Delimiter.
Element XmlWriterTraceListener kieruje śledzenie lub debugowanie wyjściowych danych jako zaszyfrowane w XML do obiektu TextWriter lub elementu Stream, takiego jak FileStream.
Jeśli chcesz, aby dowolny odbiornik oprócz DefaultTraceListener odbierał Debug, Trace i TraceSource output, musisz dodać go do kolekcji Listeners
. Aby uzyskać więcej informacji, zobacz Instrukcje: tworzenie i inicjowanie odbiorników śledzenia oraz Instrukcje: używanie elementu TraceSource i filtrów za pomocą odbiorników śledzenia. Każdy odbiornik w kolekcji Listeners otrzymuje te same komunikaty z metod wyjściowych śledzenia. Załóżmy na przykład, że skonfigurowaliśmy dwa odbiorniki: TextWriterTraceListener i EventLogTraceListener. Każdy odbiornik odbiera ten sam komunikat.
TextWriterTraceListener przekierowuje swoje dane wyjściowe do strumienia, a element EventLogTraceListener przekierowuje dane wyjściowe do dziennika zdarzeń.
W poniższym przykładzie pokazano, jak wysyłać dane wyjściowe do kolekcji Odbiorniki .
' 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");
Debug i Trace mają tę samą kolekcję Słuchacze, więc jeśli dodasz obiekt do kolekcji Debug.Listeners w aplikacji, zostanie on również dodany do kolekcji Trace.Listeners.
W poniższym przykładzie pokazano, jak używać nasłuchiwacza do wysyłania informacji śledzenia do konsoli.
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));
słuchacze Developer-Defined
Można zdefiniować własnych nasłuchiwaczy, dziedzicząc z klasy bazowej TraceListener i nadpisując jej metody za pomocą dostosowanych metod. Aby uzyskać więcej informacji na temat tworzenia odbiorników zdefiniowanych przez deweloperów, zobacz TraceListener w dokumentacji programu .NET Framework.