SJF4J是日志抽象层接口
log4j, logback(log4j的升级版)是日志的实现层
看slf4j手册,
开发的时候,日志记录方法的调用,不应该直接调用日志的实现类,而是调用日志抽象层里的方法。
Hello World 例子:
会看到调用的是sjf4j的LoggerFactory抽象层类, getLogger会使用具体实现方法。
To switch logging frameworks, just replace slf4j bindings on your class path. For example, to switch from java.util.logging to log4j, just replace slf4j-jdk14-1.7.28.jar with slf4j-log4j12-1.7.28.jar.
sjf4j-api.jar是抽象层的jar,具体换什么日志,都是换实现层的jar.
例如想使用log4j : 就需要导入slf4j-api.jar,slf4j-log412.jar, log4j.jar
每个日志的实现框架都有自己的配置文件,使用slf4j以后,配置文件还是做成日志实现自己本身的配置文件。
如何让系统中所有的日志都统一到slf4j:
将系统中其他日志框架先排除;
然后用中间包替换原有的日志,
我们导入slf4j其他的实现。