日志级别WARN,ERROR和FATAL非常清晰。但是什么时候是DEBUG和INFO?如何确定要使用的日志级别?
我已经看到一些在INFO级别上烦人地冗长的项目,但我也看到了过多支持DEBUG级别的代码。在这两种情况下,有用的信息都隐藏在噪音中。
确定日志级别的标准是什么?
日志级别WARN,ERROR和FATAL非常清晰。但是什么时候是DEBUG和INFO?如何确定要使用的日志级别?
我已经看到一些在INFO级别上烦人地冗长的项目,但我也看到了过多支持DEBUG级别的代码。在这两种情况下,有用的信息都隐藏在噪音中。
确定日志级别的标准是什么?
我不认为有任何硬性规定;使用log4j的型水平,我的“经验法则”是这样的:
不是一成不变的,而是对我如何看待它的粗略想法。
想想谁需要使用每个级别。 在我的代码中,我保留DEBUG保留给开发人员输出,例如,输出只会帮助开发者。 VERBOSE用于需要大量信息的普通用户。 信息我用来正常显示重大事件(例如发送网页,检查重要的事情)。
和失败和WARN是很自我解释。
非正式我用这种层次,
我一般会发布与信息被记录,但只有当我知道日志文件实际审查(和大小不是问题),否则它是警告。
如果在邮件中计算了某些内容,则我的团队中使用debug
,而info
用于纯文本。所以实际上info
会告诉你发生了什么,debug
将显示正在发生的事情的值。
我往往针对对用户信息给他们,甚至没有警告消息。 DEBUG往往是开发人员使用的地方,我输出消息来帮助跟踪代码中的流量(还有变量的值)。
我也喜欢DEBUG的另一个层面(DEBUG2?),它给出了调试信息绝对bucketloads如所有缓冲区的十六进制转储等。
不需要DEBUG2级别。这就是'TRACE'的用途。 TRACE旨在成为绝对最低级别的日志记录,输出您可能想要查看的所有可能的信息。
避免信息泛滥,所以一般不建议启用整个项目跟踪级别的日志。而是使用'DEBUG'来查找有关该错误的一般信息以及它发生的位置(因此名称),然后仅在该组件上启用TRACE时,如果仍然无法解决该问题。
我想很多INFO或WARN只会帮助开发者 – Casebash 2010-05-14 03:12:42