我正在借助
将记录添加到我的c#应用程序中System.Diagnostics.TraceSource
现在很多课程的顶部(UI,Processing,Data ...)我有这个:
private static TraceSource logger = new TraceSource("SourceName");
我希望每个类都记录到一个公共源名称,但不需要像现在这样对其进行硬编码。
源名称将由顶级应用程序提供,该名称对应于配置文件中的名称。
实现此目的的最佳方法是什么,除了向已激活日志记录的每个类中添加一个新的string sourceName
参数,并将其从程序主机类传递到最低数据层类?
答案 0 :(得分:1)
创建一个Static
单例,它将有一个名为name的空属性字符串。该属性将由原始进程初始化,该进程将从设置中读取该属性,然后将其放入单例的name属性中。然后,当所有工人类都需要名称时,他们将从初始化期间设置的单例的静态属性中获取它。