相关疑难解决方法(0)

记录框架不兼容

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

我的应用程序依赖于通过其进行日志记录的旧项目

org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1
Run Code Online (Sandbox Code Playgroud)

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

org.slf4j | jcl-over-slf4j | 1.5.6
Run Code Online (Sandbox Code Playgroud)

...将JCL日志记录重定向到

org.slf4j | slf4j-api | 1.6.0
Run Code Online (Sandbox Code Playgroud)

......最终到了

ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22
Run Code Online (Sandbox Code Playgroud)

所以我的应用程序可以通过其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)
Run Code Online (Sandbox Code Playgroud)

我已经在其中一些罐子上尝试过更高和更低的版本号,并且还通过API文档等进行挖掘...但我无法找到并解决问题.

请帮忙?

虽然logback被认为是"战略"日志框架,但我有一些余地,我最终使用哪种日志记录机制.我希望使用logback或log4j,我肯定希望通过常见配置将旧项目的日志记录合并到"新"日志框架最终的任何内容中.

java compatibility logback apache-commons slf4j

109
推荐指数
3
解决办法
11万
查看次数

标签 统计

apache-commons ×1

compatibility ×1

java ×1

logback ×1

slf4j ×1