您的位置:首页 > 其它

关于 logback 和 log4j 同时引用的问题

2018-02-09 15:13 344 查看

问题

在写组件时,发现一引入组件就会报错。发现是组件引入的 slf4j-log4j12 依赖的问题。错误如下:

Caused by: java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
at com.ishansong.log.Loggers.<clinit>(Loggers.java:15)
... 48 more


原因是,使用组件的项目已经使用了 logback。如果使用 slf4j 框架的话,只能使用 logback 和 log4j 等其中一个实现,基本上不能两个同时存在。这个文章 也是相同的问题。

logback 和 log4j 好像也可以同时使用,java日志系统详解 文件最下部分有一个问题,就是这个问题。没有测试,不知道能不能行。

类似问题

上网看了一下文章,在日志组件这部分还有些复杂,东西很多。同一日志组件中,两种不同的桥接器,还不能同时使用。例如:log4j-over-slf4j 与 slf4j-log4j12

其它

关于 slf4j 和 各种实现的类型、具体意义,请参考下面的文章,写的挺不错的。

log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

java日志系统详解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: