slf4j-log4j桥与log4j 2.8.1

Win*_*CPP 1 log4j bridge slf4j log4j2

我正在努力删除对log4j 1.x版本的任何依赖,因为它们已经EOL了.我的代码使用了slf4j-log4j12网桥.在maven中,slf4j-log4j的编译依赖关系显示版本为1.2.17的log4j,更新列显示为2.8.1.

所以我尝试在build.gradle中跟随,希望使用log4j-api-2.8.1代替默认提取的log4j-1.2.17.但这似乎并没有奏效.我仍然在依赖的jar中看到log4j-1.2.17.

所以我想问一下,这是不允许的事情?即没有slf4j-log4j桥接到log4j 2.8.1版本或者那个问题2.x版本?基本上我应该迁移我的代码以使用log4j-api-2.8.1.或者我在这里遗漏了什么?

dependencies {
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.8.1'
    compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.25'   
}
Run Code Online (Sandbox Code Playgroud)

saz*_*zad 6

slf4j-log4j12是log4j 1.2版的绑定.你需要log4j2绑定,命名为log4j-slf4j-impl.

要使用slf4j和log4j2,您需要:

  • log4j-api(2.8.1)
  • log4j-core(2.8.1)
  • log4j-slf4j-impl(2.8.1)
  • slf4j-api(1.7.25)

如果您对log4j 1.2版有任何实现和/或依赖性,您还需要:

  • log4j-1.2-api(2.8.1)

但是,在任何情况下都不应包含以下依赖项:

  • log4j-to-slf4j(2.x)
  • log4j(1.2.x)