<sharedListeners> 的 <add> 元素
更新:2007 年 11 月
向 sharedListeners 集合添加侦听器。sharedListeners 是任何 <source> 元素 或 <trace> 元素 能够引用的侦听器的集合。 默认情况下,sharedListeners 集合中的侦听器未放在 Listeners 集合中。必须将它们按名称添加到 <source> 元素 或 <trace> 元素。不能在运行时在代码中获取 sharedListeners 集合中的侦听器。
<configuration> 元素
<system.diagnostics> 元素
<sharedListeners> 元素
<source> -> <listeners> -> <add> 元素
<add name="name"
type="TraceListenerClassName, Version, Culture, PublicKeyToken"
initializeData="data"/>
属性和元素
以下几节描述了属性、子元素和父元素。
属性
属性 |
说明 |
---|---|
name |
必需。 指定用于将共享侦听器添加到 Listeners 集合的侦听器的名称。 |
type |
必需。 指定侦听器的类型。必须使用满足指定完全限定的类型名称中指定的要求的字符串。 |
initializeData |
可选。 传递到指定类的构造函数的字符串。 |
子元素
元素 |
说明 |
---|---|
向 sharedListeners 集合中的侦听器添加筛选器。 |
父元素
元素 |
说明 |
---|---|
configuration |
公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
system.diagnostics |
指定对消息进行收集、存储和路由的跟踪侦听器以及设置跟踪开关的级别。 |
sharedListeners |
任何源或跟踪元素都能引用的侦听器的集合。 |
备注
随 .NET Framework 一起提供的侦听器类从 TraceListener 类派生。name 属性的值用于将共享侦听器添加到跟踪或跟踪源的 Listeners 集合。initializeData 属性的值取决于您创建的侦听器的类型。并非所有跟踪侦听器都要求您指定 initializeData。
说明: |
---|
当您使用 initializeData 属性时,可能会收到编译器警告“未声明‘initializeData’属性”。出现此警告是因为,在根据抽象基类 TraceListener 验证配置设置时,该基类不能识别 initializeData 属性。通常,如果跟踪侦听器实现具有带参数的构造函数,则可以忽略此警告。 |
下表说明 .NET Framework 中包含的跟踪侦听器,同时描述了这些侦听器的 initializeData 属性值。
跟踪侦听器类 |
initializeData 属性值 |
---|---|
ConsoleTraceListener 构造函数的 useErrorStream 值。 将 initializeData 属性设置为“true”可将跟踪和调试输出写入标准错误流;将它设置为“false”可写入标准输出流。 |
|
DelimitedListTraceListener 写入的文件的名称。 |
|
现有事件日志源的名称。 |
|
EventSchemaTraceListener 写入的文件的名称。 |
|
TextWriterTraceListener 写入的文件的名称。 |
|
XmlWriterTraceListener 写入的文件的名称。 |
配置文件
此元素可用于计算机配置文件 (Machine.config) 和应用程序配置文件。
示例
下面的示例演示如何使用 <add> 元素将 TextWriterTraceListenertextListener 添加到 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>