gpt4 book ai didi

java - 日志框架不兼容

转载 作者:IT老高 更新时间:2023-10-28 11:20:54 32 4
gpt4 key购买 nike

我正在构建一个小型 Java 应用程序并希望使用 logback 进行日志记录。

我的应用依赖于通过

进行日志记录的旧项目
org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1

...所以我的计划是使用

org.slf4j | jcl-over-slf4j | 1.5.6

...将 JCL 日志重定向到

org.slf4j | slf4j-api | 1.6.0

...最终到

ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22

所以我的应用程序可以通过其 slf4j API 通过 logback 登录,而旧库代码可以通过重定向登录到同一位置。

唉,这导致

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:141)

我已经在其中一些 jar 上尝试了更高和更低的版本号,并且还深入研究了 API 文档等......但我无法找到并解决问题。

请帮忙?

虽然 logback 被认为是“战略”日志框架,但我对最终使用的日志机制有一些余地。不过,我希望使用 logback 或 log4j,而且我肯定希望通过通用配置将旧项目的日志记录合并到"new"日志记录框架最终成为的任何内容中。

最佳答案

您将 1.5.6 版本的 jcl 桥与 1.6.0 版本的 slf4j-api 混合;由于 1.6.0 中的一些更改,这将不起作用。对两者使用相同的版本,即 1.6.1(最新)。我一直在使用 jcl-over-slf4j 桥,它工作正常。

关于java - 日志框架不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3519978/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com