.net 日志框架与系统诊断跟踪

.net 日志框架与系统诊断跟踪,.net,asp.net-mvc,logging,asp.net-web-api,trace,.net,Asp.net Mvc,Logging,Asp.net Web Api,Trace,由于我目前正在我的(Asp.NETWebAPI)应用程序中设置日志记录,我正在阅读有关日志记录的最佳实践。我提出这个问题是关于 我本来想用Ninject->日志扩展->Nlog/Log4Net的方式,但是这个问题(或者我应该说答案)让我再次思考 现在我启用了跟踪功能,到处记录日志,如果日志和跟踪不在一起,感觉有点混乱 我认为,当我切换到诊断跟踪并在框架已经提供的基础上构建时,我最终会得到一个更完整的跟踪。对我来说,讲述一个完整故事的跟踪比单独的跟踪和日志更有用,因为它们都知道故事的一部分。当然,

由于我目前正在我的(Asp.NETWebAPI)应用程序中设置日志记录,我正在阅读有关日志记录的最佳实践。我提出这个问题是关于

我本来想用
Ninject
->
日志扩展
->
Nlog/Log4Net
的方式,但是这个问题(或者我应该说答案)让我再次思考

现在我启用了跟踪功能,到处记录日志,如果日志和跟踪不在一起,感觉有点混乱

我认为,当我切换到诊断跟踪并在框架已经提供的基础上构建时,我最终会得到一个更完整的跟踪。对我来说,讲述一个完整故事的跟踪比单独的跟踪和日志更有用,因为它们都知道故事的一部分。当然,我总是可以用监听器和过滤器再次分离事物

但另一方面,我总是学到:

日志记录!=追踪

所以这就给我留下了一个问题,我应该放弃日志框架,这是项目的开始阶段,还是应该坚持下去


如果我放弃日志框架,我应该使用一个接口,以防我们再次切换到另一个日志/跟踪框架,还是我可以依赖System.Diagnostics

我尝试了Log4NET路径,并查看了Ninject

根据我的发现,我认为将Diagnotisics.Trace转换为日志框架比处理我发现的任何日志框架的重量更有效。(我同意Trace!=日志记录)

也许我是个控制狂,但我不想在我的代码库中引入太多的观点。我要的是工具,不是夹克

建立对日志框架的跟踪需要做一些工作,但它是高度可重用的,因为它只是核心诊断dll,您可能已经在您的程序中了,如果没有其他原因的话,那么就用秒表计时

总之,这只是我的观点,但我更喜欢诊断。跟踪路线。
考虑一下:-它是旧的,但会告诉你什么是必要的滚动自己。

谢谢你的答案。我走这条路,一刻也不后悔。我使用common.logging并编写了一个适配器,该适配器适合我使用诊断跟踪进行跟踪的需要。生成的日志非常有用、可读且易于使用。