通过


<add>源的<listeners><元素>

将侦听器添加到跟踪源的 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添加侦听器textListenerListenersTraceSourceApp集合。 侦听器 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>

另请参阅