记录框架与System.Diagnostics跟踪

Jos*_*nke 4 .net asp.net-mvc logging trace asp.net-web-api

由于我目前正在设置Logging in my(Asp.Net Web Api)应用程序,因此我正在阅读根据日志记录的最佳实践.我提出了关于记录最佳实践的问题.

我走的是Ninject- > Logging Extensions- > Nlog / Log4Net方式,但这个问题(或者我应该说答案)让我第二次思考.

在我启用跟踪的那一刻,记录每一个地方,并且让日志和跟踪不加起来感觉有点混乱.

我认为当我切换到诊断跟踪并在框架已经给我的基础上构建时,我最终会得到更完整的跟踪.讲述一个完整故事的痕迹对我来说听起来更有用,然后是一个单独的跟踪和日志,它们都知道故事的一部分.当然,我总是可以通过听众和过滤器再次分开.

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

记录!=追踪

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

如果我删除日志框架,我是否应该使用接口以防我们再次想要切换到另一个日志/跟踪框架,或者我可以只依赖System.Diagnostics?

Mar*_*lls 7

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

根据我的发现,我会说,将Diagnotisics.Trace转换为日志框架比尝试处理我发现的任何日志框架的权重要高得多.(我同意Trace!= Logging)

也许我是一个控制狂,但我不希望在我的代码库中引入大量意见.我想要工具,而不是一件紧身衣.

构建跟踪到日志记录框架有一些工​​作,但它是高度可重用的,因为它只是您可能已经在程序中已经拥有的核心诊断DLL,如果没有别的,那么StopWatch用于计时.

无论如何,只是我的意见,但我更喜欢Diagnostics.Trace路线.请考虑一下:http://www.codeproject.com/Articles/2680/Writing-custom-NET-trace-listeners - 它已经过时了,但它会告诉你什么是推动你自己的必要.