.net - 我如何告诉 -all- .NET Trace Sources 使用监听器?

标签 .net debugging web-config app-config tracesource

我有各种类库,其中包含跟踪源。工作正常。

在我的 .config 文件中,我需要指定哪个来源会将其文本转储给监听器。很好,效果很好。

但我有大约 20 个源具有相同的开关值和过滤器类型等。

那么,有没有办法说:对于所有库中的所有源,使用这个开关值、这个过滤器和这个监听器。

实际上:将所有跟踪信息转储到此/这些监听器。

这可以做到吗?

最佳答案

使用 shareListener 标签,您将最大程度地减轻痛苦:http://msdn.microsoft.com/en-us/library/ms229501.aspx

1 个开关用于许多跟踪源 - 没有。许多来源的 1 个监听器 - 是的,共享监听器,我认为它仍然需要重复配置(但它们都指向同一个共享监听器)。 Filter-- 应该能够使过滤器成为共享监听器的子元素,因此它会被定义一次。

我假设您正在尝试减轻配置负担,因此涉及自定义监听器和过滤器的策略将被淘汰,但假设可以编写一个自定义监听器和过滤器以作为跟踪源的参数列表——据我所知,没有人试图创造一个。 MS,我相信会有扩展 System.Diagnostics 的第 3 方库,目前 UKADC 和 Essential.Diagnostics 是最好的,我会使用它们的基类来扩展 MS 已经提供的内容。

另一种可能性是在代码中以编程方式注册监听器,这完全避免了配置并提供了使用循环的机会。

我通过创建一个生成 system.diagnostics 部分的代码生成应用程序来处理这个问题——生成的代码易于阅读,生成的配置又大又冗长且重复。

关于.net - 我如何告诉 -all- .NET Trace Sources 使用监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17333111/

相关文章:

c# - 如何通过testfixture参数运行测试方法?

c# - 设置一个枚举等于另一个

python - 在函数末尾设置调试器断点而不返回

.net - 数据源名称的大小写敏感性

c# - 检测 web.config 已更改

c# - 如何解决 KeyNotFoundException

c# - 如何以编程方式查找 .NET 运行时版本?

Javascript on html Canvas 元素问题

javascript - 如何查看发生的 JavaScript 函数调用

iis - 使用Powershell从多个web.config文件中获取dbname