我希望避免编写自己的通用日志记录界面,而是使用内置的Trace
功能,从一开始就不需要任何日志记录库。在我处理日志库之前,我已经在至少输出窗口中有我的跟踪信息,在这个开发阶段就足够了。
然后我想在我的应用程序中添加一个日志库,并使用监听器将Trace
耦合到它,而不再编写日志记录代码。
您对此策略有何看法,并且是这些日志库的跟踪侦听器,还是其他可能或可行的快速实现的企业库?
答案 0 :(得分:2)
NLog提供了一个TraceListener,它将Trace / TraceSource语句路由到NLog日志记录系统。
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或将它们设置在不同的级别)。