TraceSwitch和SourceWitch-有什么区别?
-
02-10-2019 - |
题
因此,我可能在这里很明显,但是实际上是 TraceSwitch
和 SourceSwitch
课程?
他们都给出了相同的摘要描述:
提供一个多级开关来控制跟踪和调试输出,而无需重新编译您的代码。
言论部分与我的眼睛奇怪。有人可以澄清其功能和使用情况的差异吗?
(为了完整,我正在使用开关 TraceSource
对象,而不是旧的静态 Trace
上课,尽管我怀疑这有很大的不同。)
解决方案
区别在于 TraceSwitch
使用 Trace
消息时 SourceSwitch
使用 TraceSource
消息,将消息与他们的源相关联。所以 SourceSwitch
您可以根据跟踪消息的来源来配置侦听器。
我同意文档并没有直接指出差异,而是在相关的 TraceSource
类文档,您会发现这一点:
这
TraceSource
类通过源名称标识,通常是应用程序的名称。来自特定组件的跟踪消息可以由特定的跟踪源启动,从而使来自该组件的所有消息都可以轻松识别。
还有一个示例向您展示如何配置 SourceSwitch
关闭从跟踪源的跟踪。
其他提示
(较旧的)TraceSwitch基本上是一个与静态跟踪类组合使用的曲侧对象。
(较新的)Tracesource将Tracelevel概念与实际输出方法结合在一起。
结果,在一个大型应用程序中,您可以使用多个tracewitches为程序的不同零件(GUI,dal)配置跟踪设置,但所有输出都将发送到同一tracelistener(s)。
使用TraceSource,您可以拥有独立的输出通道。和稍好的API。
关于Tracelevel和Sourcelevel之间差异的解释可能有助于:
不隶属于 StackOverflow