使用.NET Trace,然后使用NLog或log4net等作为监听器

时间:2013-04-17 09:27:09

标签: logging log4net nlog .net-trace

我希望避免编写自己的通用日志记录界面,而是使用内置的Trace功能,从一开始就不需要任何日志记录库。在我处理日志库之前,我已经在至少输出窗口中有我的跟踪信息,在这个开发阶段就足够了。

然后我想在我的应用程序中添加一个日志库,并使用监听器将Trace耦合到它,而不再编写日志记录代码。

您对此策略有何看法,并且是这些日志库的跟踪侦听器,还是其他可能或可行的快速实现的企业库?

1 个答案:

答案 0 :(得分:2)

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,但它应该很容易写一个:

How to log Trace messages with log4net?

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

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

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

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