..

关于程序的日志输出

对比开源产品和公司内部产品的日志,慢慢会发现,同样是出错误,开源产品很快就能从错误日志中找对错误的原因,作为这个开源项目的使用者,我并没有参数到项目代码的编写,但是因为良好的日志记录,降低了排查问题的难度。往往有的产品,日志打印了不少,什么信息都输出了,但是的需要研发本人找半天才能看到有用信息。大部分打印的都是一些函数调用信息,而不是用户事件与系统。通过日志记录应该能看到程序在干什么和干了什么。

日志要分等级,info 日志记录用户事件和修通事件,而不是函数调用信息,warn 日志记录系统系统给出的警告信息,比如磁盘剩余空间不足。error 日志记录错误信息,比如有人支付订单失败了,debug 日志记录能看到更加全面的信息,debug 日志是给对系统更加了解的人看的,方便排查软件故障。

将日志输出到文件,持久化到磁盘上,同时也不要使用 printf 等方式输出日志到标准输出和标准错误输出,日志文件能够按照日志分类,定时清理过期的日志信息,避免占用太多的磁盘空间,导致系统无法运行。