Элемент <add> для элемента <listeners> для элемента <trace>
Обновлен: Ноябрь 2007
Добавление прослушивателя в коллекцию Listeners.
Элемент <configuration>
Элемент <system.diagnostics>
Элемент <trace>
Элемент <listeners> для элемента <trace>
Элемент <add> для элемента <listeners> для элемента <trace>
<add name="name"
type="trace listener class name, Version, Culture, PublicKeyToken"
initializeData="data"/>
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут |
Описание |
---|---|
type |
Обязательный атрибут. Задает тип прослушивателя. Необходимо использовать строку, отвечающую требованиям, описанным в разделе Указание полных имен типов. |
initializeData |
Необязательный атрибут. Строка, передаваемая в конструктор для заданного класса. |
name |
Необязательный атрибут. Указывает имя прослушивателя. |
Дочерние элементы
Нет.
Родительские элементы
Элемент |
Описание |
---|---|
configuration |
Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework. |
listeners |
Задание прослушивателя, собирающего, хранящего и маршрутизирующего сообщения. Прослушиватели направляют выходные данные трассировки соответствующему целевому объекту. |
system.diagnostics |
Указание корневого элемента для раздела конфигурации ASP.NET. |
trace |
Содержит прослушиватели, собирающие, хранящие и маршрутизирующие сообщения трассировки. |
Заметки
Классы Debug и Trace совместно используют коллекцию Listeners. Если в одном из этих классов в коллекцию добавляется объект прослушивателя, то этот прослушиватель используется и в другом классе. Классы прослушивателей являются производными от класса TraceListener.
Если атрибут nam прослушивателя трассировки не задан, то по умолчанию для свойства Name прослушивателя трассировки устанавливается пустая строка (""). Если у приложения имеется только один прослушиватель, то он может быть добавлен без указания имени и убран указанием пустой строки для его имени. Однако если у приложения имеется более одного прослушивателя, то для каждого прослушивателя трассировки должно быть установлено свое уникальное имя, позволяющее распознавать и управлять индивидуальными прослушивателями трассировки в коллекциях Listeners и Listeners.
![]() |
---|
При добавлении более одного прослушивателя трассировки одного типа и с одинаковым именем приводит к тому, что лишь один прослушиватель этого типа с этим именем добавляется к коллекции Listeners. Однако несколько одинаковых прослушивателей могут быть добавлены к коллекции Listeners программным путем. |
Значение атрибута initializeData зависит от типа создаваемого прослушивателя. Не для всех прослушивателей трассировки требуется задание атрибута initializeData.
![]() |
---|
Когда используется атрибут initializeData, можно получить сообщение компилятора "Атрибут 'initializeData' не объявлен". Это предупреждение возникает из-за того, что параметры конфигурации проверяются на абстрактный базовый класс TraceListener, который не распознает атрибут initializeData. Как правило, можно игнорировать это предупреждение для реализаций прослушивателя трассировки, имеющих конструктор, который принимает параметр. |
В следующей таблице перечислены прослушиватели трассировки, поставляемые в комплекте с платформой .NET Framework, и описываются значения их атрибутов initializeData.
Класс прослушивателей трассировки |
Значение атрибута initializeData |
---|---|
Значение useErrorStream для конструктора ConsoleTraceListener. Задайте для атрибута initializeData значение "true", чтобы записать трассировку и отладить выход в свойстве Console.Error; задайте значение "false", чтобы записать в свойстве Console.Out. |
|
Имя файла, в который осуществляет запись объект DelimitedListTraceListener. |
|
Имя существующего источника журнала событий. |
|
Имя файла, в который осуществляет запись объект EventSchemaTraceListener. |
|
Имя файла, в который осуществляет запись объект TextWriterTraceListener. |
|
Имя файла, в который осуществляет запись объект XmlWriterTraceListener. |
Пример
В следующем примере показано, как использовать элементы <add> для добавления прослушивателей MyListener и MyEventListener в коллекцию Listeners. MyListener создает файл с именем MyListener.log и записывает результат в файл. MyEventListener создает запись в журнале событий.
<configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="0">
<listeners>
<add name="myListener" type="System.Diagnostics.TextWriterTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\myListener.log" />
<add name="MyEventListener"
type="System.Diagnostics.EventLogTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="MyConfigEventLog"/>
<add name="configConsoleListener"
type="System.Diagnostics.ConsoleTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</listeners>
</trace>
</system.diagnostics>
</configuration>