日志排查记录
一、日志依赖类型
日志接口
commons-logging apache的日志接口
slf4j-api
jakarta.common.logging (JCL,commons-logging 前身)
桥接器
jcl-over-slf4j commons-log桥接到slf4j
slf4j-log4j12 slf4j的实现桥接到log4j
log4j-over-slf4j log4j的实现桥接回到slf4j
日志解决方案
log4j 最广泛的日志解决方案
logback log4j作者的又一力作,性能比log4j更好
二、搭配方案
1、commons-logging + log4j
2、slf4j-api + logback(logback-core和logback-classic)
3、commons-logging + jcl-over-slf4j + slf4j-api + slf4j-log4j12 + log4j
4、slf4j-api + log4j-over-slf4j + logback(logback-core和logback-classic)
三、解决思路
1.先排查log4j与logback的冲突,所有同时包含log4j与log4j的依赖,根据需要排除另一个
2. jcl-over-slf4j 可能会导致与 commons-logging 动态绑到其他日志接口的问题,在没有 slf4j-api的情况下 不建议导入
3.log4j-over-slf4j 与 slf4j-log4j12 同时存在可能会引起问题 在确认不使用log4j的情况下,再考虑保留log4j-over-slf4j
一、日志依赖类型
日志接口
commons-logging apache的日志接口
slf4j-api
日志排查记录
一、日志依赖类型
日志接口
commons-logging apache的日志接口,自动搜索应用内的日志解决方案接口
slf4j-api 最通用的日志接口,与apache不同的是,slf4j采用桥接器模式,可以又用户指定使用哪个具体的日志实现
jakarta.common.logging (JCL,commons-logging 前身)
桥接器
jcl-over-slf4j commons-log桥接到slf4j
slf4j-log4j12 slf4j的实现桥接到log4j
log4j-over-slf4j log4j的实现桥接回到slf4j
日志解决方案
log4j 最广泛的日志解决方案
logback log4j作者的又一力作,性能比log4j更好
二、搭配方案
1、commons-logging + log4j
2、slf4j-api + logback(logback-core和logback-classic)
3、commons-logging + jcl-over-slf4j + slf4j-api + slf4j-log4j12 + log4j
4、slf4j-api + log4j-over-slf4j + logback(logback-core和logback-classic)
三、解决思路
1.先排查log4j与logback的冲突,所有同时包含log4j与log4j的依赖,根据需要排除另一个
2. jcl-over-slf4j 可能会导致与 commons-logging 动态绑到其他日志接口的问题,在没有 slf4j-api的情况下 不建议导入
3.log4j-over-slf4j 与 slf4j-log4j12 同时存在可能会引起问题 在确认不使用log4j的情况下,再考虑保留log4j-over-slf4j
一、日志依赖类型
日志接口
commons-logging apache的日志接口,自动搜索应用内的日志解决方案接口
slf4j-api 最通用的日志接口,与apache不同的是,slf4j采用桥接器模式,可以又用户指定使用哪个具体的日志实现
jakarta.common.logging (JCL,commons-logging 前身)
桥接器
jcl-over-slf4j commons-log桥接到slf4j
slf4j-log4j12 slf4j的实现桥接到log4j
log4j-over-slf4j log4j的实现桥接回到slf4j
日志解决方案
log4j 最广泛的日志解决方案
logback log4j作者的又一力作,性能比log4j更好
二、搭配方案
1、commons-logging + log4j
2、slf4j-api + logback(logback-core和logback-classic)
3、commons-logging + jcl-over-slf4j + slf4j-api + slf4j-log4j12 + log4j
4、slf4j-api + log4j-over-slf4j + logback(logback-core和logback-classic)
三、解决思路
1.先排查log4j与logback的冲突,所有同时包含log4j与log4j的依赖,根据需要排除另一个
2. jcl-over-slf4j 可能会导致与 commons-logging 动态绑到其他日志接口的问题,在没有 slf4j-api的情况下 不建议导入
3.log4j-over-slf4j 与 slf4j-log4j12 同时存在可能会引起问题 在确认不使用log4j的情况下,再考虑保留log4j-over-slf4j
jakarta.common.logging (JCL,commons-logging 前身)
桥接器
jcl-over-slf4j commons-log桥接到slf4j
slf4j-log4j12 slf4j的实现桥接到log4j
log4j-over-slf4j log4j的实现桥接回到slf4j
日志解决方案
log4j 最广泛的日志解决方案
logback log4j作者的又一力作,性能比log4j更好
二、搭配方案
1、commons-logging + log4j
2、slf4j-api + logback(logback-core和logback-classic)
3、commons-logging + jcl-over-slf4j + slf4j-api + slf4j-log4j12 + log4j
4、slf4j-api + log4j-over-slf4j + logback(logback-core和logback-classic)
三、解决思路
1.先排查log4j与logback的冲突,所有同时包含log4j与log4j的依赖,根据需要排除另一个
2. jcl-over-slf4j 可能会导致与 commons-logging 动态绑到其他日志接口的问题,在没有 slf4j-api的情况下 不建议导入
3.log4j-over-slf4j 与 slf4j-log4j12 同时存在可能会引起问题 在确认不使用log4j的情况下,再考虑保留log4j-over-slf4j