事实证明,我们都犯有记录不当行为的罪行。 不相信我们吗? 这些统计数据可能会改变您的想法
当人们提出带有明显答案的问题时,这非常令人不快,因此,我不会坐在这里问您和您的团队是否使用日志文件来监视预生产和生产环境中的应用程序。 我们都使用日志,并且毫无疑问,它们可以帮助我们更好地了解我们的应用程序(如果您可以找到所需的内容),但是它们远非完美。
在大多数情况下,日志并不指向生产问题的根本原因。 那么,为什么团队仍然非常依赖他们进行故障排除呢?
本白皮书将涵盖日志中的5个最大缺陷,并说明为什么它们本身不足以用于全面的监视堆栈。
在下面偷看...
1.超过20%的错误永远不会进入生产日志
我们可以聊到日志让您对生产中的应用程序没有足够的了解为止,直到脸色发白为止,但让我们从现实检查开始。
生产中发生的异常中至少有20%根本不会进入日志。 滑铁卢大学的研究人员从超过500万个Java项目中提取了数据,其中包括1300万个catch块,并根据所采取的措施将其分成了组。
这是他们发现的结果:
我们可以进一步采取这一步骤,将这些操作分为3个主要类别:
1.通过将某些内容写入日志,打印堆栈跟踪记录或将信息输出到控制台来记录发生的情况。
2.抛出一个异常,可能是更广泛的抽象,它使调用堆栈中更远的方法之一知道如何处理。
3. 而且……什么都没有。 吞下该异常,没有任何线索来说明它来自何处或发生的原因。 而且看起来它甚至至少与记录日志一样频繁,这至少可以说是令人震惊的。
现在,在深入了解日志问题之前,让我们花一点时间浏览一下这里的数字。 在1,300万个捕获块的研究中,出现了3,067,863个空块。 大约有23%的异常根本没有出现在日志中。 在谈论全面的监视解决方案时,这不是一个很好的起点。
现在,我们对日志中最终出现的异常了解多少? 您可能会感到惊讶……
翻译自: https://www.javacodegeeks.com/2018/05/5-shocking-stats-that-prove-logs-are-inadequate-2.html