日志的作用
开发过程中:
1、有助于调试错误。
实际上C/C++程序员很少使用GDB调试错误,更多的是使用日志调试错误,程序错误,分为编译时错误和运行错误。对于编译时错误编译器可以帮我们发现错误,对于运行时错误比如调用某个库函数或者系统调用出现的错误,我们可以把errno 所对应的错误信息记录到日志当中,这样我们就可以分析日志找出错误所在。如果是运行时的逻辑错误,用GDB调试的话就像大海捞针很难定位错误的位置,特别是代码量多的时候调试更加麻烦。 如果我们把整个程序运行状态都记录到了日志当中,那么通过分析日志就有助于我们分析程序的逻辑,从而找出逻辑错误,因此在今后的程序开发中,更多的通过日志来进行调试,而不是使用GDB。
2、更好的理解程序。
对于别人编写的代码可能不好理解,我们在阅读别人的代码的时候,加上日志就可以分析整个程序的运行流程,从而帮助我们更好的理解程序。
运行过程中:
1、诊断系统故障并处理。
我们可以分析日志找出系统故障出现的原因,并进行相应的处理。
2、记录系统运行状态。
日志级别
TRACE :指出比DEBUG粒度更细的一些信息事件(开发过程中使用)
DEBUG :指出细粒度信息事件对调试应用程序是非常有帮助的。(开发过程中使用)
INFO: 表明消息在粗粒度级别上突出强调应用程序的运行过程。
WARN :系统能正常运行,但可能会出现潜在错误的情形。
ERROR: 指出虽然发生错误事件,但仍然不影响系统的继续运行。
FATAL: 指出每个严重