slf4j-log4j 桥接 log4j 2.8.1
slf4j-log4j bridge with log4j 2.8.1
我正在努力删除对 log4j 1.x 版本的任何依赖,因为它们已经停产了。我的代码使用 slf4j-log4j12 桥。在 Maven 中,slf4j-log4j 的中央编译依赖项显示版本 1.2.17 的 log4j,更新列显示 2.8.1.
所以我尝试在 build.gradle 中进行以下操作,希望使用 log4j-api-2.8.1 代替默认拉取的 log4j-1.2.17。但这似乎不起作用。我仍然在依赖的 jars 中看到 log4j-1.2.17。
所以我想问一下,这是完全不允许的吗? IE。没有 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'
}
slf4j-log4j12
是 log4j 版本 1.2 的绑定。但是你需要 log4j 版本 2 (log4j2) 绑定,它被命名为 log4j-slf4j-impl
.
要将 slf4j 与 log4j2 一起使用,您需要:
- log4j-api (2.8.1)
- log4j-核心 (2.8.1)
- log4j-slf4j-impl (2.8.1)
- slf4j-api (1.7.25)
如果您对 log4j 版本 1.2 有任何实现 and/or 依赖,您还需要:
- log4j-1.2-api (2.8.1)
但是,在任何情况下都不应包含以下依赖项:
- log4j-to-slf4j (2.x)
- log4j (1.2.x)
我正在努力删除对 log4j 1.x 版本的任何依赖,因为它们已经停产了。我的代码使用 slf4j-log4j12 桥。在 Maven 中,slf4j-log4j 的中央编译依赖项显示版本 1.2.17 的 log4j,更新列显示 2.8.1.
所以我尝试在 build.gradle 中进行以下操作,希望使用 log4j-api-2.8.1 代替默认拉取的 log4j-1.2.17。但这似乎不起作用。我仍然在依赖的 jars 中看到 log4j-1.2.17。
所以我想问一下,这是完全不允许的吗? IE。没有 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'
}
slf4j-log4j12
是 log4j 版本 1.2 的绑定。但是你需要 log4j 版本 2 (log4j2) 绑定,它被命名为 log4j-slf4j-impl
.
要将 slf4j 与 log4j2 一起使用,您需要:
- log4j-api (2.8.1)
- log4j-核心 (2.8.1)
- log4j-slf4j-impl (2.8.1)
- slf4j-api (1.7.25)
如果您对 log4j 版本 1.2 有任何实现 and/or 依赖,您还需要:
- log4j-1.2-api (2.8.1)
但是,在任何情况下都不应包含以下依赖项:
- log4j-to-slf4j (2.x)
- log4j (1.2.x)