<sharedListeners> 的 <add> 元素
将侦听器添加到 sharedListeners
集合中。 sharedListeners
是任何 <source> 或 <trace> 都可以引用的侦听器的集合。 默认情况下,sharedListeners
集合中的侦听器不会放置在 Listeners
集合中。 必须按名称将它们添加到 <source> 或 <trace>。 在运行时,不能在代码中获取 sharedListeners
集合中的侦听器。
<配置>
<system.diagnostics>
<sharedListeners>
<add>
语法
<add name="name"
type="TraceListenerClassName, Version, Culture, PublicKeyToken"
initializeData="data"
traceOutputOptions = "None"
/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 描述 |
---|---|
name |
必需的特性。 指定用于将共享侦听器添加到 Listeners 集合中的侦听器的名称。 |
type |
必需的特性。 指定侦听器的类型。 必须使用一个满足指定完全限定的类型名称中指定的要求的字符串。 |
initializeData |
可选特性。 传递给指定类的构造函数的字符串。 |
traceOutputOptions |
可选特性。 指示要写入跟踪输出的数据的一个或多个 TraceOptions 枚举成员的字符串表示形式。 多个项之间以逗号分隔。 默认值为“None”。 |
子元素
元素 | 说明 |
---|---|
<filter> | 将筛选器添加到 sharedListeners 集合中的侦听器。 |
父元素
元素 | 说明 |
---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
system.diagnostics |
指定用于收集、存储和路由消息的跟踪侦听器以及对跟踪开关设置的级别。 |
sharedListeners |
任何 source 或 trace 元素都可以引用的侦听器的集合。 |
备注
随 .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>
元素将 TextWriterTraceListenertextListener
添加到 sharedListeners
集合中。 按名称将 textListener
添加跟踪源 TraceSourceApp
的 Listeners
集合中。 textListener
侦听器将跟踪输出写入文件 myListener。
<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>
请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈