Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Замечание
Эта статья связана с .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.
При использовании трассировки, отладки и TraceSource, необходимо иметь механизм для сбора и записи отправленных сообщений. Сообщения трассировки получают прослушиватели. Цель слушателя заключается в сборе сообщений трассировки, их хранении и маршрутизации. Прослушиватели направляют выходные данные трассировки в соответствующий целевой объект, например журнал, окно или текстовый файл.
Слушатели доступны для классов Debug, Trace и TraceSource, каждый из которых может отправлять свои выходные данные в различные объекты слушателей. Ниже приведены обычно используемые предопределенные прослушиватели.
Объект TextWriterTraceListener перенаправляет выходные данные на экземпляр TextWriter класса или на все, что является классом Stream . Он также может записывать данные в консоль или в файл, так как это Stream классы.
Выходные EventLogTraceListener данные перенаправляются в журнал событий.
DefaultTraceListener выводит сообщения Write и WriteLine в OutputDebugString и в метод Debugger.Log. В Visual Studio это приводит к отображению сообщений отладки в окне вывода. Сбой и неудачные сообщения Assert также отправляются в API Windows OutputDebugString и метод Debugger.Log , а также вызывают отображение поля сообщения. Это поведение по умолчанию для Debug и Trace сообщений, так как DefaultTraceListener автоматически включается в каждую коллекцию
Listenersи является единственным слушателем, добавляемым автоматически.Направляет ConsoleTraceListener результаты трассировки или отладки в стандартный вывод или стандартный поток ошибок.
DelimitedListTraceListener перенаправляет выходные данные трассировки или отладки к текстовому записывающему устройству, например, к потоковому записывающему устройству, или к потоку, например, файловому потоку. Выходные данные трассировки отображаются в текстовом формате с разделителями, заданном свойством Delimiter .
XmlWriterTraceListener направляет трассировку или отладку выходных данных как XML-кодированные данные в TextWriter или в Stream, таких как FileStream.
Если вы хотите, чтобы помимо DefaultTraceListener какой-либо другой слушатель получал выходные данные отладки, трассировки и TraceSource, необходимо добавить его в коллекцию Listeners. Дополнительные сведения см. в статье "Практическое руководство. Создание и инициализация прослушивателей трассировки и практическое руководство. Использование TraceSource и фильтров с прослушивателями трассировки". Любой слушатель в коллекции прослушивателей получает те же сообщения из методов трассировки. Например, предположим, что вы настроили два прослушивателя: TextWriterTraceListener и EventLogTraceListener. Каждый прослушиватель получает одно и то же сообщение.
TextWriterTraceListener будет направлять выходные данные в поток, а EventLogTraceListener будет направлять выходные данные в журнал событий.
В следующем примере показано, как отправлять выходные данные в коллекцию прослушивателей .
' 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.Listen в приложение он также добавляется в коллекцию Trace.Listen .
В следующем примере показано, как использовать прослушиватель для отправки сведений отслеживания в консоль.
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
Вы можете определить собственные прослушиватели, наследуя базовый класс TraceListener и переопределяя его методы вашими собственными методами. Дополнительные сведения о создании определяемых разработчиком прослушивателей см. TraceListener в справочнике по .NET Framework.