使用.NET跟踪,然后使用NLog或log4net等作为侦听器。

6
我希望避免编写自己的通用日志接口,而是使用内置的Trace功能。首先,这不需要任何日志库。在处理日志库之前,我已经可以在输出窗口中看到我的跟踪信息,这在开发的这个阶段已经足够了。
然后,我想向我的应用程序添加一个日志库,并将Trace与监听器耦合,而不再编写任何日志代码。
您对这种策略有什么看法?是否有针对这些日志库或其他日志库(如企业库)的跟踪侦听器可用或可行于快速实现?
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

据我所知,log4net没有附带TraceListener,但编写一个应该很容易:

如何使用log4net记录Trace消息?

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

请参见此处的高级日志任务:

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

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

谢谢,我会看看Common logging,但可能最初会坚持使用普通的跟踪,在仔细研究TraceSources之后。 - ProfK
TraceSources和Common Logging,谢谢。我之前不知道Common Logging。 - ProfK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接