我正在努力删除对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。但这似乎并没有奏效。我仍然在依赖的罐子里看到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'
}
答案 0 :(得分:5)
slf4j-log4j12
是log4j 1.2版的绑定。您需要log4j2绑定,其名称为log4j-slf4j-impl
。
要将slf4j与log4j2一起使用,您需要:
如果您对log4j 1.2版有任何实现和/或依赖性,那么您还需要:
但是,在任何情况下都不应包含以下依赖项: