slf4j-log4j12 和 log4j-slf4j-impl 之间的区别

问题描述 投票:0回答:1

在一些使用 slf4j 和 log4j 的项目中,我可以看到类似的依赖关系

compile('org.apache.logging.log4j:log4j-core:version')
compile('org.apache.logging.log4j:log4j-api:version')
compile('org.apache.logging.log4j:log4j-slf4j-impl:version')

但有些项目使用 slf4j-log4j12 而不是 log4j-slf4j-impl。据我了解,它们都是 slf4j 和 log4j 之间的桥梁,但它们有什么区别?

log4j log4j2
1个回答
16
投票

这些工件使用不同版本的 Log4j:

  • slf4j-log4j12
    是SLF4J和Log4j 1.2之间的桥梁。它的版本遵循 SLF4J。
  • slf4j-reload4j
    是SLF4J和Reload4j(Log4j 1.2的克隆)之间的桥梁。它的版本遵循 SLF4J。
  • log4j-slf4j-impl
    是 SLF4J 1.x(最高 1.7.x)和 Log4j 2.x 之间的桥梁。其版本遵循 LOG4J2。
  • log4j-slf4j2-impl
    是 SLF4J 2.x(或更高版本)和 Log4j 2.x 之间的桥梁。其版本遵循 LOG4J2。

由于 Log4j 1.x 已于 7 年前终止生命,因此在新软件中使用第一个版本没有任何意义。

© www.soinside.com 2019 - 2024. All rights reserved.