有人告诉我使用 log4net 将“日志记录”添加到我的代码中,问题是没有人可以及时旅行并查看日志记录需要用来解决哪些现实世界问题。
因此,是否有一套关于记录哪些内容以获得合理的成本/收益权衡?
所以:
应该添加什么类型的日志记录
到一个有用的应用程序
之后?
(代码中大量使用了WCF,一侧是Winforms,另一侧是通常在同一台机器上运行的“服务器”)
--
我已经排除了 AJM 的答案,以撰写有用的博客文章,其中包含许多评论,但如果有人提出了一组不错的“经验法则 http://en.wikipedia.org/wiki/Rule_of_thumb“我很可能会改变预期的答案。
需要记住的一件事是,虽然您的配置将处理不同级别的日志记录,但您可能会在日志调用中造成沉重的开销。例如:
// some kind of loop
// do some operations
Logger.LogDebug(myObject.GetXmlRepresentation());
// end loop
显然,如果您有一个记录器侦听 DEBUG 日志,则只会记录该对象,但是无论您的日志记录级别如何,构建 XML 对象的调用都会运行,并且可能会导致相当大的速度减慢。
正确的解决方案是:
// some kind of loop
// do some operations
if (Logger.IsDebug)
{
Logger.LogDebug(myObject.GetXmlRepresentation());
}
// end loop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)