将侦听器添加到 sharedListeners 集合。
sharedListeners 是任何 <源> 或 <跟踪> 都可以引用的侦听器的集合。 默认情况下,集合中的 sharedListeners 侦听器不会放在集合中 Listeners 。 它们必须按名称添加到 <源> 或 <跟踪>。 无法在运行时在代码中获取集合中的 sharedListeners 侦听器。
<configuration>
<system.diagnostics>
<sharedListeners>
<add>
Syntax
<add name="name"
type="TraceListenerClassName, Version, Culture, PublicKeyToken"
initializeData="data"
traceOutputOptions = "None"
/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| Attribute | Description |
|---|---|
name |
必需属性。 指定用于将共享侦听器添加到 Listeners 集合的侦听器的名称。 |
type |
必需属性。 指定侦听器的类型。 必须使用满足 指定完全限定类型名称中指定的要求的字符串。 |
initializeData |
可选属性。 传递给指定类的构造函数的字符串。 |
traceOutputOptions |
可选属性。 指示要写入跟踪输出的数据的一个或多个 TraceOptions 枚举成员的字符串表示形式。 多个项用逗号分隔。 默认值为“None”。 |
子元素
| 元素 | Description |
|---|---|
| <滤波器> | 将筛选器添加到集合中的 sharedListeners 侦听器。 |
父元素
| 元素 | Description |
|---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
system.diagnostics |
指定收集、存储和路由消息的跟踪侦听器以及设置跟踪开关的级别。 |
sharedListeners |
任何源或跟踪元素都可以引用的侦听器集合。 |
注解
.NET Framework 附带的侦听器类派生自该 TraceListener 类。 该特性的值 name 用于将共享侦听器添加到 Listeners 跟踪或跟踪源的集合。 属性的值 initializeData 取决于你创建的侦听器的类型。 并非所有跟踪侦听器都要求你指定 initializeData。
注释
使用特性 initializeData 时,可能会收到编译器警告“未声明'initializeData'属性”。发生此警告是因为配置设置根据抽象基类进行验证,该基类 TraceListener无法识别该 initializeData 属性。 通常,对于具有采用参数的构造函数的跟踪侦听器实现,可以忽略此警告。
下表显示了 .NET Framework 附带的跟踪侦听器,并描述了其 initializeData 属性的值。
| 跟踪侦听器类 | initializeData 属性值 |
|---|---|
| ConsoleTraceListener |
useErrorStream构造函数的值ConsoleTraceListener。 将 initializeData 属性设置为“true”以将跟踪和调试输出写入标准错误流;将其设置为“false”以写入标准输出流。 |
| DelimitedListTraceListener | 写入到的文件 DelimitedListTraceListener 的名称。 |
| System.Diagnostics.EventLogTraceListener | 现有事件日志源的名称。 |
| System.Diagnostics.EventSchemaTraceListener | 写入到的文件 EventSchemaTraceListener 的名称。 |
| System.Diagnostics.TextWriterTraceListener | 写入到的文件 TextWriterTraceListener 的名称。 |
| XmlWriterTraceListener | 写入到的文件 XmlWriterTraceListener 的名称。 |
配置文件
此元素可用于计算机配置文件(Machine.config)和应用程序配置文件。
Example
以下示例演示如何使用<add>元素将集合添加到TextWriterTraceListenertextListenersharedListeners集合。
textListener 由名称添加到 Listeners 跟踪源 TraceSourceApp的集合中。 侦听器 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>