Классы Trace (Трассировка) и Debug (Отладка) имеют статическую коллекцию слушателей, называемую TraceListenerCollection. Эта коллекция представляет собой список объектов TraceListener, которые получают информацию, выводимую классами Debug (Отладка) и Trace (Трассировка). Слушатели добавляются в коллекцию и удаляются из нее подобно тому, как это делается для любой другой коллекции .NET.
// создать слушатель, который пишет на пульт (console)
TextWriterTraceListener *ConsoleOutput = new
TextWriterTraceListener(
Console::0ut, "Console::Out Listener"); // Слушатель
Trace::Listeners->Add(ConsoleOutput); // Слушатели->Добавить
// создать слушатель, который пишет в текстовый файл
Stream *OutputFile = File::Create("output.txt"); //
Файл:: Создать
В этом фрагменте программы объект OutputFileListener будет посылать вывод трассировки в файл с именем output.txt. Слушатель по умолчанию Def aultTraceListener добавляется в коллекции Listener (Слушатель) автоматически. Любой из слушателей, в том числе и предлагаемый по умолчанию, может быть удален из коллекции с помощью вызова метода Remove (Удалить) этой коллекции. Чтобы составить список всех слушателей в коллекции, можно выполнить следующий фрагмент кода:
pEnum =
Trace::Listeners->GetEnumerator(); // Слушатели
while (pEnum->MoveNext())
{
TraceListener *tr =
dynamic_cast<TraceListener *>(pEnum->Current);
Console::WriteLine(
String::Format("\t{0}", tr->Name)); // Строка::
Формат
}