Java:logback-classic与slf4j版本对应关系

1、结论

logback-classic-1.2.x及以下版本,则适配的slf4j 1.0.x - 1.7.x
logback-classic-1.3.x及以上版本,则适配的slf4j 1.8.x及以上

2、原因分析

 (1)logback-classic-1.2.x及以下版本

通过org.slf4j.impl.StaticLoggerBinder初始化logback
org.slf4j.impl.StaticLoggerBinder包含在logback-classic中


(2)logback-classic-1.3.x及以上版本

使用ServiceProvider机制,读取/META-INF/services/org.slf4j.spi.SLF4JServiceProvider中的配置初始化logback。

/META-INF/services/org.slf4j.spi.SLF4JServiceProvider文件中的内容为:

ch.qos.logback.classic.spi.LogbackServiceProvider

LogbackServiceProvider实现了org.slf4j.spi.SLF4JServiceProvider接口

而org.slf4j.spi.SLF4JServiceProvider接口是在slf4j-1.8.x及以上版本中才出现

并且org.slf4j.impl.StaticLoggerBinder已从logback删除

所以若logback-classic使用1.3.x,则slf4j要使用1.8.x及以上版本。

你可能感兴趣的:(Java:logback-classic与slf4j版本对应关系)