I'm building a small Java app and hoping to use logback for logging.
My app has a dependency on an older project that does its logging via
org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1
...so my plan was to use
org.slf4j | jcl-over-slf4j | 1.5.6
...to redirect the JCL logging to
org.slf4j | slf4j-api | 1.6.0
...and ultimately to
ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22
so my app can log through logback via its slf4j API while the old library code can log into the same location via the redirection.
Alas, this results in
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)
I've tried higher and lower verision numbers on some of these jars and also digging through API documentation and such... but I'm unable to find and solve the problem.
Help, please?
Although logback is considered the "strategic" logging framework, I have some leeway in which logging mechanism I ultimately use. I'd hope to use either logback or log4j, though, and I definitely want to merge the old project's logging into whatever the "new" logging framework ends up being, via a common configuration.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…