日志级别WARN,ERROR和FATAL非常清楚。但什么时候是DEBUG,什么时候是INFO?
我已经看到一些在INFO级别上令人烦恼的项目,但我也看到了过多地支持DEBUG级别的代码。在这两种情况下,有用的信息都隐藏在噪音中。
确定日志级别的标准是什么?
答案 0 :(得分:109)
我认为没有任何严厉的规则;使用log4j类型级别,我的“经验法则”类似于:
不是一成不变的,而是对我如何看待它的粗略想法。
答案 1 :(得分:7)
非正式地,我使用这种层次结构,
我通常会在记录INFO的情况下发布,但前提是我知道日志文件实际已经过审核(并且大小不是问题),否则就是WARN。
答案 2 :(得分:5)
考虑谁需要使用每个级别。 在我的代码中,我为开发人员输出保留 DEBUG ,例如输出只会帮助开发人员。 当需要大量信息时, VERBOSE 用于普通用户。 信息我用来正常显示重大事件(例如发送网页,检查重要内容)。
失败和 WARN 非常自我解释。
答案 3 :(得分:3)
我的团队中的约定是在消息中计算某些内容时使用debug
,而info
用于纯文本。因此,实际上info
将向您显示正在发生的事情,debug
将显示正在发生的事情的值。
答案 4 :(得分:1)
我倾向于将INFO定位到用户,为他们提供甚至不是警告的消息。 DEBUG倾向于供开发人员使用,我输出消息以帮助跟踪代码中的流(也包含变量值)。
我还喜欢另一个级别的DEBUG(DEBUG2?),它提供了绝对桶装的调试信息,例如所有缓冲区的十六进制转储等等。
答案 5 :(得分:0)
不需要DEBUG2级别。这就是'TRACE'的用途。 TRACE旨在成为输出您可能希望看到的每条可能信息的绝对最低级别的日志记录。
为避免大量信息,通常不建议您在整个项目中启用跟踪级别日志记录。而是使用'DEBUG'来查找有关错误及其发生位置的一般信息(因此得名),然后如果仍然无法弄明白,则仅为该组件启用TRACE。