前言
我们在编写代码时,都知道在关键算法,逻辑性较强的地方添加注释。一来提高了代码的可维护性。二来让代码有了自可读性。如果我们把注释理解为静态的自可读性。那么,程序在运行时,我们如何才能知道程序的实际运行路径呢?这就是今天的主角--日志!
为什么要打日志?
有很多朋友,不太喜欢打日志。好几百,甚至上千行的代码。啪,啪,啪的全写完!自信满满,一行日志也没打。联调,测试,上线都没问题。系统运行一段时间后,莫名的出现问题。那么,到底是哪个地方出现问题了?方法的入参是什么?系统走到哪一步了?一无所知。这下就只剩抓瞎了。从这里我们应该可以看出,打日志是非常有必要的。我们梳理一下,打日志有诸多好处。
- 最直接的好处就是方便解决BUG了。
- 记录请求的耗时时间,特别是接入第三方供应商时,调用远程服务时,我们可以通过日志来记录请求的耗时时间。
- 对关键业务,关键算法的入参,以及结果打点并记录下来。
最后: 记录日志是给自己分析问题,解决bug用的。我们尽量记录的尽可能简洁,易懂以及清晰,理想情况下甚至能通过日志还原一次请求,一次调用的全过程。
如何打日志?
上面我们说了为什么需要打日志。现在我们说说,如何打日志。以我们最常用slf4j这个日志组件来说,它对应的日志级别有: trace, debug,info,warn,error这五个日志级别。其范围依次为: error>warn>info>debug>trace。