2011-03-30 3 views
1

Log4j를 비공식적으로 사용하고 있으며 Logback으로 전환 중입니다. 나는 Spiffy에서 ensure my logging class is consistent까지 사용하는 데 익숙해졌습니다.Logback 로깅 클래스 일관성

즉 대신

private static final Logger log = Logger.getLogger(Foo.class); 

또는

private final Logger log = Logger.getLogger(this.getClass()); 

내가 할

private static final Logger log = LoggerHelper.getLogger(); 

Logback에서이 작업을 수행하는 비슷한 방법이 있나요? 나는 Spiffy가이 단계에서하는 일을 어떻게하는지 모르겠다. 나는 단지 그것을 사용한다.

답변

3

일반적으로 로그백은 직접 사용하지 않고 slf4j을 통해 사용합니다. 사용 방법은 다음과 같습니다.

그런 다음 배포하는 동안 로그백 항아리 및 구성을 클래스 패스에 넣을 수 있습니다.

3

Spiffy의 LoggerHelper는 Throwable.getStackTrace 방법을 사용합니다. 불행히도이 방법은 100 % 신뢰할 만하지 않습니다. JavaDoc을에서 :

일부 가상 머신은, 일부 상황에서, 하나 이상의 스택을 스택 추적에서 프레임을 생략 할 수 있습니다.

즉, Spiffy의 LoggerHelper는 잘못 명명 된 로거를 반환 할 수 있습니다. 이 경우 디버깅하기가 매우 어려울 수 있습니다.