【发布时间】:2011-02-01 20:59:00
【问题描述】:
所以我有一个应用程序,我将在其中使用跟踪来记录应用程序活动/错误等。大多数信息将进入日志文件,而一些错误也会进入事件查看器。这个应用程序将有很多类。
在这种情况下使用 TraceSource 的最佳方式是什么?我应该创建一个单例包装 TestSource 类还是有更好的方法?
【问题讨论】:
标签: c# tracesource
所以我有一个应用程序,我将在其中使用跟踪来记录应用程序活动/错误等。大多数信息将进入日志文件,而一些错误也会进入事件查看器。这个应用程序将有很多类。
在这种情况下使用 TraceSource 的最佳方式是什么?我应该创建一个单例包装 TestSource 类还是有更好的方法?
【问题讨论】:
标签: c# tracesource
我在某种程度上同意@Valdis - log4net 和 NLog 是非常强大的日志框架的两个例子,它们提供了很大的灵活性和相对易于使用的配置(NLog 可能比 log4net 更容易配置)。但是,我认为没有必要完全避免 TraceSource。 TraceSource 是内置的,因此您可以避免额外的依赖。
如果您使用的是 TraceSource,我认为单个应用程序范围的静态 TraceSource 对象不是要走的路。我建议使用更多 TraceSources,甚至可能每个类一个(这可能有点矫枉过正,但在使用 log4net 和 NLog 时是一种常见模式)。
我在回答您关于何时在应用程序中使用多个 TraceSource 的其他问题的答案中提供了更多详细信息。
【讨论】:
您是否严格使用内置的 .net 事件和日志基础设施?我会鼓励使用一些第 3 方(例如从企业库登录)。这些更灵活,更可配置,而且您不会有这样的头疼 - 您只需编写:
Logger.Write(...)
【讨论】: