SLF4J如何找到具体实现的

SLF4J 是一个日志门面,允许在部署时插入所需的日志框架。其核心在于 org.slf4j.impl.StaticLoggerBinder 类,用于获取具体的日志实现。然而,SLF4J 自身并不包含这个类,它依赖于具体的日志实现(如 logback 或 log4j)提供。在项目中,如果同时存在多个 SLF4J 实现,可能会导致绑定冲突。解决这个问题的关键在于正确配置和排除冲突的实现库。
摘要由CSDN通过智能技术生成

使用slf4j的时候是这样的
在这里插入图片描述
org.slf4j.LoggerFactory
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
log4j-slf4j-impl.jar中
在这里插入图片描述
logback-classic.jar中
在这里插入图片描述
发现没有?
slf4j用了一个技巧。
所有实现slf4j抽象层标准的实现类,都必须有
org.slf4j.impl.StaticLoggerBinder
这个类

这样,就获取到具体slf4j具体实现类的实例

但是,这里有个疑问,就是,slf4j jar包中,自身是没有 org.slf4j.impl.StaticLoggerBinder 这个类的,它是怎么编译通过,并打成jar包的了?

打包参考:
https://blog.csdn.net/Brave_heart4pzj/article/details/118067756

slf4j原理参考:
https://blog.csdn.net/b625846910/article/details/79587079
https://blog.csdn.net/weixin_34106122/article/details/88743974
https://www.cnblogs.com/hafiz/p/5486858.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值