저는 작은 Java 앱을 구축 중이며 로깅을 위해 로그 백을 사용하고 싶습니다.
내 앱에는 다음을 통해 로깅을 수행하는 이전 프로젝트에 대한 종속성이 있습니다.
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를 통해 로그 백을 통해 로그인 할 수 있고 이전 라이브러리 코드는 리디렉션을 통해 동일한 위치에 로그인 할 수 있습니다.
아아, 이로 인해
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이나 log4j를 사용하고 싶고, 공통 구성을 통해 이전 프로젝트의 로깅을 "새로운"로깅 프레임 워크가 무엇이든간에 병합하고 싶습니다.