无论是哪种程序员,日常开发中都离不开记日志。但是通过最近的review会,发现很多程序员在记日志的时候,还是会有些问题。那么如何科学地记录日志呢?
为什么要记日志
在寻求方法前,我们先看看我们记日志的目标。
日志是程序运行时的x光,能够追踪到程序运行的状态,通过日志,程序员能够加速调试速度,还原异常情况出现的场景。
也有通过日志记录处理数据,方便后面统计和审计。
还有通过日志进行备份,当数据有问题时,通过日志恢复数据。
总之,我们记日志,是为了给人看,来了解程序运行的状态。今天我们只讲日常调试和发现异常的场景。
日志记录什么内容
既然日志是给人看的,就要让人能读懂,给出足够的信息。要带有上下文,4w都要清晰。把日志记录时刻的时间when、地点where(发生的函数,代码行)、什么数据或请求导致(who)。通过这些我们推出why,和how。知道为什么会记录成这样,有什么影响。
日志的级别
在程序中,日志也是分级别的,不同的级别表示日志的不同场景和用途。
通常有如下级别:
TRACE:打印最详尽,在开发过程中使用此级别。类似于单步调试,在发不到运营环境后应该屏蔽掉这个级别。
DEBUG