如何在多个 类 中使用相同的名称初始化多个 TraceSource

How to use the same name to initialize many TraceSource in multiple classes

我正在借助

向我的 C# 应用程序添加日志记录
System.Diagnostics.TraceSource

现在在许多 classes 的顶部(UI、正在处理、数据...)我有这个 :

private static TraceSource logger = new TraceSource("SourceName");

我希望每个 class 都记录到一个通用的源名称,但不要像当前那样对其进行硬编码。

源名称将由顶级应用程序提供,该名称对应于配置文件中的名称。

实现此目的的最佳方法是什么,除了将新的 string sourceName 参数添加到每个已激活日志记录的 class 并将其从程序主机 class到最低数据层class?

创建一个 Static 单例,它将有一个名为 name 的空 属性 字符串。 属性 将由原始进程初始化,该进程将从设置中读取它,然后将其放入单例名称 属性 中。然后,当所有工作人员 类 需要该名称时,他们将从初始化期间设置的单例静态 属性 中获取它。