目录
日志是一个业务系统的重要组成部分。因为日志通常不属于系统的核心功能,所以常常不被开发人员所重视,然而一旦需要用到日志时,大家又会生出诸多吐槽:想要的日志没有;无用的日志一大堆;有用的日志被大量无效的日志信息淹没,查找起来非常困难。
打印日志简单,打印好日志很难。写好每一条日志,与君共勉!
1 日志是什么
日志:记录离散的事件,包含程序执行到某一点或某一阶段的详细信息。
日志的作用:
- 快速定位问题:包括线上问题的定位和线下环境的开发调试;
- 记录用户的操作行为:主要用于安全审计,合规要求,大数据分析,场景回溯等;
- 采集程序的运行状态:比如接口流量、耗时、成功率,JVM信息等;
2 Java日志框架
SLF4J(Simple Logging Facade for Java)是日志门面框架,仅提供日志记录的API,不实现日志记录的功能。Logback、Log4j2分别是两种日志框架实现。
代码中不可直接使用Logback或Log4j2中的API,而应依赖使用SLF4J中的API。这样能够提升可移植性,在使用不同日志框架实现的应用之间能够做到无缝的适配,同时应用在切换日志框架实现时无需代码改造。
3 日志记录什么
3.1 日志格式
日志格式分为元信息和日志内容两部分:
- 元信息由日志框架实现