将侦听器添加到 Listeners 集合。
<configuration>
<system.diagnostics>
<trace>
<listeners>
<add>
Syntax
<add name="name"
type="trace listener class name, Version, Culture, PublicKeyToken"
initializeData="data"/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| Attribute | Description |
|---|---|
| 类型 | 必需属性。 指定侦听器的类型。 必须使用满足 指定完全限定类型名称中指定的要求的字符串。 |
| initializeData | 可选属性。 传递给指定类的构造函数的字符串。 |
| name | 可选属性。 指定侦听器的名称。 |
子元素
| 元素 | Description |
|---|---|
| <滤波器> | 将筛选器添加到集合中的 Listeners 侦听器以用于跟踪。 |
父元素
| 元素 | Description |
|---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
listeners |
指定收集、存储和路由消息的侦听器。 侦听器将跟踪输出定向到适当的目标。 |
system.diagnostics |
指定 ASP.NET 配置节的根元素。 |
trace |
包含收集、存储和路由跟踪消息的侦听器。 |
注解
和DebugTrace类共享同一Listeners集合。 如果将侦听器对象添加到其中一个类中的集合,则另一个类使用相同的侦听器。 侦听器类派生自 .TraceListener
如果未指定 name 跟踪侦听器的属性, Name 跟踪侦听器的默认值为空字符串(“)。 如果应用程序只有一个侦听器,则可以在不指定名称的情况下添加它,并通过指定名称的空字符串将其删除。 但是,如果应用程序有多个侦听器,则应为每个跟踪侦听器指定唯一的名称,这样就可以识别和管理集合中的ListenersListeners单个跟踪侦听器。
注释
添加同一类型的多个跟踪侦听器,并且同名只会导致该类型的一个跟踪侦听器和要添加到集合中 Listeners 的名称。 但是,你可以以编程方式向 Listeners 集合添加多个相同的侦听器。
属性的值 initializeData 取决于你创建的侦听器的类型。 并非所有跟踪侦听器都需要指定 initializeData。
注释
使用特性 initializeData 时,可能会收到编译器警告“未声明'initializeData'属性”。发生此警告是因为配置设置根据抽象基类进行验证,该基类 TraceListener无法识别该 initializeData 属性。 通常,对于具有采用参数的构造函数的跟踪侦听器实现,可以忽略此警告。
下表显示了 .NET Framework 附带的跟踪侦听器,并描述了其 initializeData 属性的值。
| 跟踪侦听器类 | initializeData 属性值 |
|---|---|
| System.Diagnostics.ConsoleTraceListener |
useErrorStream构造函数的值ConsoleTraceListener。 将initializeData属性设置为“true”,将跟踪和调试输出写入到 Console.Error;要写入的 false“Console.Out” |
| System.Diagnostics.DelimitedListTraceListener | 写入到的文件 DelimitedListTraceListener 的名称。 |
| System.Diagnostics.EventLogTraceListener | 现有事件日志源的名称。 |
| System.Diagnostics.EventSchemaTraceListener | 写入到的文件 EventSchemaTraceListener 的名称。 |
| System.Diagnostics.TextWriterTraceListener | 写入到的文件 TextWriterTraceListener 的名称。 |
| System.Diagnostics.XmlWriterTraceListener | 写入到的文件 XmlWriterTraceListener 的名称。 |
Example
以下示例演示如何使用 <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>