我正在构建一个小型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)
我已经尝试过在其中一些罐子中使用更高或更低的版本号,并且还通过API文档等进行了挖掘...但是我无法找到并解决问题。
请帮助?
尽管logback被认为是“战略”日志记录框架,但是我在最终使用哪种日志记录机制方面还有一些余地。不过,我希望使用logback或log4j,并且我绝对希望通过通用配置将旧项目的日志记录合并到最终成为“新”日志记录框架的内容中。