【发布时间】:2017-03-08 21:09:45
【问题描述】:
我之前没有使用过 System.Diagnostics.TraceSource 包,所以我想确保我正确地实现它。在过去,我使用过 NLog(在 log4net 之前),您可以在配置文件中(或以编程方式)配置设置,并在每个类中声明:
private static Logger Logger = LogManager.GetCurrentClassLogger();
then 需要这样的语句:
Logger.Error("some message", exc);
但是使用 TraceSource,您可以创建一个新的 TraceSource,设置其属性并分配您的侦听器,然后将您的消息写入它。
我是否为每个类(如 NLog)创建一个 TraceSource 实例?或者我是否每个应用程序都有一个所有类都使用的应用程序?如果是前者,似乎至少我应该将 TraceSource 的创建集中到工厂或其他东西中,以便简化代码,并且每次我需要使用它时我都不必设置设置、侦听器等。这里的正确用法是什么?
注意:由于此代码的部署方式的性质,我不能有配置文件,我必须以编程方式完成所有操作。
【问题讨论】:
-
如果你只想把它归结为基础,那么我建议这个链接:blog.stephencleary.com/2010/12/…
-
@BentTranberg - 很好,谢谢。看起来你会在大多数情况下按班级进行,如果你希望能够打开/关闭更大范围的日志记录,可能会按模块进行
标签: c# logging system.diagnostics tracesource