为什么日志只应该有三个级别

日志只需要三种级别:normal、error、debug。

其中normal用来记录一般性的程序运行信息,error用来记录必须处理的错误信息,debug用来记录详细的调试信息。程序普通运行的时候只开normal和error日志;当需要追踪问题的时候再开debug日志。

这分别代表了我们能够做出的三种反应:日常查看状态(normal)、发现需要关注解决的问题(error)、调试分析问题(debug)。

因为我们只能对日志做出这三种反应,因此日志只应该被分成这三个级别。

java里面的日志是被分成九个级别的,那基本上只造成了混乱。比如warning级别,这纯粹是扯淡,没人知道该怎么处理warning,是必须处理掉,还是不用处理?在现实世界里,所有warning实际上都会被无视,变得无意义。

作为佐证,我曾经见过某大公司的一些java项目,那些项目的日志都乱七八糟,因此日常维护的时候也基本上都忽略了所有日志。之所以大多数程序员都不知道该怎么写日志,是因为他们缺乏一个可执行的指引:什么信息该写哪个类型的日志。经常有程序员会把必须处理的错误写在warning里面,导致error日志不能覆盖所有必须处理的错误,从而使得监控error日志变得无意义。

之所以日志必须只分为三个级别,是为了能给程序员提供一份清晰的指引:凡是需要处理的错误,都必须写error日志;其他信息都写normal,而normal信息都是不用处理的,不影响系统运行的;调试信息写debug。


Q:当收到一个异常的request的时候,是否需要写error日志?

A:如果这个异常request是预期之内的,则写normal日志;如果这个request是需要程序员或者运维人员进行处理的,则写error日志。

Q:当系统启动失败的时候,应该写什么日志?

A:启动失败是不应该的,需要运维人员至少看看为什么。因此需要写error日志。

Q:当系统内部buffer队列满了的时候,应该写什么日志?

A:在设计正确的系统里面,正常情况下不应该出现buffer满了的情况。这种情况需要程序员改代码或者运维改配置。因此需要写error日志。


转载于:https://www.cnblogs.com/hehe520/p/6330358.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值