在项目的开发中,日志是必不可少的一个记录事件的组件,不管是记录运行情况还是追踪线上问题,都离不开对日志的分析,所以也会相应的在项目中实现和构建我们所需要的日志框架。
而市面上常见的日志框架有很多,比如:
JCL
、
SLF4J
、
Jboss-logging
、
jUL
、
log4j
、
log4j2
、
logback
等等,我们该如何选择呢?
日志框架的设计思想
jboss-logging:是给特定框架使用的
JCL:最后更新时间是2014年,不再更新
log4j存在性能问题
logback是为了解决log4j存在的性能问题,重新搭建的和log4j是同一个作者
jul功能不够强大
log4j2和其他框架整合不够
通常情况下,日志是由一个抽象层
+
实现层的组合来搭建的。
Spring 框架选择使用了 JCL 作为默认日志输出。而 Spring Boot 默认选择了 SLF4J 结合 LogBack