将侦听器添加到跟踪源的 Listeners 集合。
<configuration>
<system.diagnostics>
<sources>
<source>
<listeners>
<add>
Syntax
<add name="name"
type="TraceListenerClassName, Version, Culture, PublicKeyToken"
initializeData="data"/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| Attribute | Description |
|---|---|
type |
必需属性,除非在集合中 sharedListeners 引用侦听器,在这种情况下,只需按名称引用它(请参阅 示例)。指定侦听器的类型。 必须使用满足 指定完全限定类型名称中指定的要求的字符串。 |
initializeData |
可选属性。 传递给指定类的构造函数的字符串。 如果类没有采用字符串的构造函数,则会引发 A ConfigurationException 。 |
name |
可选属性。 指定侦听器的名称。 |
traceOutputOptions |
可选属性。 指定 TraceOutputOptions 跟踪侦听器的属性值。 |
| [自定义属性] | 可选属性。 指定由该侦听器的方法标识 GetSupportedAttributes 的特定于侦听器的属性的值。 Delimiter 是类唯 DelimitedListTraceListener 一的额外属性的示例。 |
子元素
| 元素 | Description |
|---|---|
| <滤波器> | 将筛选器添加到跟踪源的 Listeners 集合中的侦听器。 |
父元素
| 元素 | Description |
|---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
system.diagnostics |
指定收集、存储和路由消息的跟踪侦听器以及设置跟踪开关的级别。 |
sources |
包含启动跟踪消息的跟踪源。 |
source |
指定启动跟踪消息的跟踪源。 |
listeners |
指定收集、存储和路由消息的侦听器。 |
注解
.NET Framework 附带的侦听器类派生自该 TraceListener 类。
如果未指定 name 跟踪侦听器的属性, Name 跟踪侦听器的属性默认为空字符串(“)。 如果应用程序只有一个侦听器,则可以在不指定名称的情况下添加它,并且可以通过为名称指定空字符串来删除它。 但是,如果应用程序有多个侦听器,则应为每个跟踪侦听器指定一个唯一的名称,这样就可以标识和管理集合中的 TraceSource.Listeners 单个跟踪侦听器。
注释
添加同一类型的多个跟踪侦听器,并且同名只会导致该类型的一个跟踪侦听器和要添加到集合中 Listeners 的名称。 但是,你可以以编程方式向 Listeners 集合添加多个相同的侦听器。
属性的值 initializeData 取决于你创建的侦听器的类型。 并非所有跟踪侦听器都要求你指定 initializeData。
注释
使用特性 initializeData 时,可能会收到编译器警告“未声明'initializeData'属性”。发生此警告是因为配置设置根据抽象基类进行验证,该基类 TraceListener无法识别该 initializeData 属性。 通常,对于具有采用参数的构造函数的跟踪侦听器实现,可以忽略此警告。
下表显示了 .NET Framework 附带的跟踪侦听器,并描述了其 initializeData 属性的值。
| 跟踪侦听器类 | initializeData 属性值 |
|---|---|
| System.Diagnostics.ConsoleTraceListener |
useErrorStream构造函数的值ConsoleTraceListener。 将 initializeData 属性设置为“true”以将跟踪和调试输出写入标准错误流;将其设置为“false”以写入标准输出流。 |
| System.Diagnostics.DelimitedListTraceListener | 写入到的文件 DelimitedListTraceListener 的名称。 |
| System.Diagnostics.EventLogTraceListener | 现有事件日志源的名称。 |
| System.Diagnostics.EventSchemaTraceListener | 写入到的文件 EventSchemaTraceListener 的名称。 |
| System.Diagnostics.TextWriterTraceListener | 写入到的文件 TextWriterTraceListener 的名称。 |
| System.Diagnostics.XmlWriterTraceListener | 写入到的文件 XmlWriterTraceListener 的名称。 |
配置文件
此元素可用于计算机配置文件(Machine.config)和应用程序配置文件。
Example
以下示例演示如何使用<add>元素向跟踪源console添加侦听器textListener和ListenersTraceSourceApp集合。 侦听器 textListener 将跟踪输出写入文件myListener.log。
<configuration>
<system.diagnostics>
<sources>
<source name="TraceSourceApp" switchName="sourceSwitch"
switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="console"
type="System.Diagnostics.ConsoleTraceListener"/>
<add name="textListener"/>
<remove name="Default"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="textListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="myListener.log"/>
</sharedListeners>
<switches>
<add name="sourceSwitch" value="Warning"/>
</switches>
</system.diagnostics>
</configuration>