文章目录


全称

slf4j:simple log facade for java【简单的 java 日志门面】

log4j:log for java【java 日志】

功能

slf4j:一个适配器,一个接口,通过调用它的方法统一来打印日志,只需要传入不同日志功能实现,比如 log4j 或者其他,当然这个传入也可以是通过底层操作

log4j:真正实现了日志的功能的日志系统,类似这样的日志系统有很多

打个比方

假如有两个日志系统,一个是 A,另一个是 B,假如这里的 A 代表 log4j 日志系统

由于是两套日志系统,二者日志输出方式不同,如下:

// A 日志系统日志输出
A.loginfo()
// B 日志系统日志输出
B.output()

如果我们拥有了 slf4j 我们会怎么去做呢?

Slf4j slf4j = new Slf4j(A);
// 不区分日志系统进行日志输出
log.info();

实际上 slf4j 使用了工厂模式不会让你去直接 new 对象,再加上注解的使用,日志变得非常方便

思考

这种方式的好处是什么呢?那就是当改变日志系统的时候,代码可以做到不变