log4j 实践, 可能是最佳实践

什么是 slf4j

参考官网 (https://www.slf4j.org) 的说明:

The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.

总的来说, slf4j 是一系列的日志接口, 而 log4j, logback 是具体实现的日志框架. 接下介绍三种常用的实现.

slf4j-log4j12

log4j 是 apache 实现的一个开源日志组件. 那为什么这里叫 log4j12 呢? 因为该方案依赖 log4j 1.2.x 版本. 这是 slf4j 的包装实现 (Wrapped implementations)

log4j-slf4j-impl

logback-classic

logback 同样是由 log4j 的作者设计完成的, 拥有更好的特性, 用来取代 log4j 的一个日志框架. 它是 slf4j 的原生实现 (Native implementations), 也是 spring-boot 的默认选择.

参考文献