<sharedListeners> 的 <add> 元素

将侦听器添加到 sharedListeners 集合中。 sharedListeners 是任何 <source> 元素<trace> 元素 可以引用的侦听器的集合。 默认情况下,sharedListeners 集合中的侦听器未放在 Listeners 集合中。 必须将它们按名称添加到 <source> 元素<trace> 元素。 不能在运行时在代码中获取 sharedListeners 集合中的侦听器。

<add name="name" 
  type="TraceListenerClassName, Version, Culture, PublicKeyToken"
  initializeData="data"/>

特性和元素

以下几节描述了属性、子元素和父元素。

特性

特性

说明

name

必选特性。

指定用于将共享侦听器添加到 Listeners 集合的侦听器的名称。

type

必选特性。

指定侦听器的类型。 必须使用满足指定完全限定的类型名称中指定的要求的字符串。

initializeData

可选特性。

传递到指定类的构造函数的字符串。

子元素

元素

说明

<sharedListeners> 的 <add> 的 <filter> 元素

向 sharedListeners 集合中的侦听器添加筛选器。

父元素

元素

说明

configuration

公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。

system.diagnostics

指定对消息进行收集、存储和路由的跟踪侦听器以及设置跟踪开关的级别。

sharedListeners

任何源或跟踪元素都能引用的侦听器的集合。

备注

随 .NET Framework 一起提供的侦听器类从 TraceListener 类派生。 name 特性的值用于将共享侦听器添加到跟踪或跟踪源的 Listeners 集合。 initializeData 特性的值取决于您创建的侦听器的类型。 并非所有跟踪侦听器都要求您指定 initializeData。

注意注意

当您使用 initializeData 特性时,可能会收到编译器警告“未声明‘initializeData’特性”。出现此警告是因为,在根据抽象基类 TraceListener 验证配置设置时,该基类不能识别 initializeData 特性。通常,如果跟踪侦听器实现具有带参数的构造函数,则可以忽略此警告。

下表说明 .NET Framework 中包含的跟踪侦听器,同时描述了这些侦听器的 initializeData 特性值。

跟踪侦听器类

initializeData 特性值

ConsoleTraceListener

ConsoleTraceListener 构造函数的 useErrorStream 值。 将 initializeData 特性设置为“true”可将跟踪和调试输出写入标准错误流;将它设置为“false”可写入标准输出流。

DelimitedListTraceListener

DelimitedListTraceListener 写入的文件的名称。

System.Diagnostics.EventLogTraceListener

现有事件日志源的名称。

System.Diagnostics.EventSchemaTraceListener

EventSchemaTraceListener 写入的文件的名称。

System.Diagnostics.TextWriterTraceListener

TextWriterTraceListener 写入的文件的名称。

XmlWriterTraceListener

XmlWriterTraceListener 写入的文件的名称。

配置文件

此元素可用于计算机配置文件 (Machine.config) 和应用程序配置文件。

示例

下面的示例演示如何使用 <add> 元素将 TextWriterTraceListener textListener 添加到 sharedListeners 集合。 按名称将 textListener 添加到跟踪源 TraceSourceApp 的 Listeners 集合。 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> 

请参见

参考

跟踪和调试设置架构

TraceSource

TraceListener

概念

跟踪侦听器