日志的使用&日志框架
什么是日志框架
日志框架:一套能实现日志输出的工具包
日志:能够描述系统运行状态的所有时间都可以算作日志。比如:用户下线,接口超时,数据库崩溃,Hello World
日志框架的能力:
- 定制输出目标(将日志输出到文件,定制日志文件的滚动策略)
- 定制输出格式(通过配置文件修改日志文件的具体内容,不修改代码的情况下自由定制输出格式)
- 携带上下文信息(时间戳、类路径、线程、调用对象)
- 运行时选择性输出(系统运行慢,关心数据库访问层的问题)
- 灵活的配置
- 优秀的性能(日志是运维需求,不能拖慢系统性能)
常见的日志框架:
- 日志门面:
- JCL(×,SLF4j与Logback同一个作者,兼容性好)
- SLF4j
- jboss-logging(×)
- 日志实现:
- Log4j(×,作者放弃升级)
- Log4j2(×,极致性能,架构过度复杂)
- Logback
- JUL(×,来自官方,实现简陋)
日志级别:
数字越大 级别越高 事态越严重
public enum Level {
ERROR(40, "ERROR"),
WARN(30, "WARN"),
INFO(20, "INFO"),
DEBUG(10, "DEBUG"),
TRACE(0, "TRACE");
}