log4j에 대한 모든 로깅을 수행하는 기존 응용 프로그램이 있습니다. 우리는 log4j를 사용하거나 Commons Logging에 대해 로그하는 다른 많은 라이브러리를 사용합니다. 이는 결국 우리 환경에서 log4j를 사용합니다. 종속성 중 하나는 slf4j에 대해서도 로그를 기록하는데, 이는 결국 log4j에도 위임되기 때문에 잘 작동합니다.
이제 일부 캐싱 요구를 위해이 응용 프로그램에 ehcache를 추가하고 싶습니다. 이전 버전의 ehcache는이 시나리오에서 완벽하게 작동했을 commons-logging을 사용했지만 1.6-beta1 버전 에서는 commons-logging에 대한 종속성을 제거하고 대신 java.util.logging으로 대체했습니다.
java.util.logging에서 사용할 수있는 기본 제공 JDK 로깅에 익숙하지 않은 경우 JUL로 전송 된 로그 메시지를 log4j에 대해 로깅하는 쉬운 방법이 있으므로 기존 구성을 사용하고 모든 로깅에 대해 설정할 수 있습니다. ehcache에서?
JUL에 대한 javadocs를 살펴보면 LogManager
사용 되는 구현 을 변경하기 위해 여러 환경 변수를 설정할 수 있으며 아마도 Logger
JUL Logger
클래스 에서 log4j를 래핑하는 데 사용할 수 있습니다. 이것이 올바른 접근 방식입니까?
라이브러리가 내장 된 JDK 로깅을 사용하면 (대부분의) 세계가 타사 라이브러리를 대신 사용할 때 이러한 골칫거리가 될 수 있다는 것은 아이러니 한 일입니다.