6

我想避免编写自己的通用日志接口,而是使用内置Trace功能,开始时不需要任何日志库。在我讨论日志库之前,我至少在输出窗口中已经有了我的跟踪信息,这在这个开发阶段已经足够了。

然后我想在我的应用程序中添加一个日志库,并Trace与一个监听器耦合,而不是编写任何更多的日志代码。

您对这个策略有什么看法,这些日志库或其他(如 Enterprise Library)的跟踪侦听器是否可以快速实施或可行?

4

1 回答 1

3

NLog 提供了一个 TraceListener,它将 Trace/TraceSource 语句路由到 NLog 日志记录系统。

http://nlog-project.org/2010/09/02/routing-system-diagnostics-trace-and-system-diagnostics-tracesource-logs-through-nlog.html

AFAIK log4net 没有附带 TraceListener,但编写一个应该很容易:

如何使用 log4net 记录跟踪消息?

此外,您没有问,但Common.Logging还提供了一种将日志消息(使用 Common.Logging 抽象 API)路由到 TraceListener 的方法,以及在 Common.Logging 支持的平台之间进行桥接。

请参阅此处的高级日志记录任务:

http://netcommon.sourceforge.net/docs/2.1.0/reference/html/ch01.html

至于我对你的策略的看法......我认为这个策略似乎是合理的。我认为我会建议您考虑使用 TraceSources 而不是静态 Trace 对象。一个好处是您将拥有更精细的控制粒度(即打开/关闭一些 TraceSource 或将它们设置在不同的级别)。

于 2013-04-17T14:17:26.120 回答