我对日志输出的看法
客户来邮件,问到:为何我们所用的软件产品,输出日志中有FATAL:xxxx 之类的,然后反复发生对同一模块调用,直到成功为止。
那么,这个软件当初的设计就是这样的吗?言外之意,它是一个Bug吗?
在我看来,一个产品,无论它是开源的,还是封闭的商业软件,都需要注意一个问题:
对于挑剔的客户而言,不要说FATAL或ERROR字眼,就是日志中有WARNING,客户也会不放心,也有可能引发疑虑呢。
解决的方法:
要么尽量不要在编程的时候太过随意,
开发人员不能想输出什么就胡乱用FATAL/ERROR/PANIC/WARNING之类的标记。
对信息分类设定严格标准,并建立一套简明实用的可以Guideline,
从客户运维的角度,可以考察何时、何模块可以在何处输出何种日志信息。
要么:
完善文档,指出:某种FATAL类信息出现,什么情况下是不需要担心的,什么情况下需要引起客户注意。
否则,胡乱输出日志又没有合理的说明,只能让客户愤怒、迷惑。
当然,某些开源软件也许就是有意为之,想要达成此种效果,好去卖文档、卖服务,那就是另外的话题了。