Я создаю небольшое приложение 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
поэтому мое приложение может регистрировать журнал через свой API slf4j, в то время как старый код библиотеки может войти в одно и то же место через перенаправление.
Увы, это приводит к
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, и я определенно хочу объединить старый проект в том, что "новая" среда ведения журнала заканчивается тем, что используется в общей конфигурации.