2011-08-08 6 views
1

많은 프로젝트에서 사용할 수있는 사용자 정의 유효성 검사 프레임 워크와 같은 특정 프레임 워크를 배포해야하는 경우이 프레임 워크 내에서 로깅을 처리하여 해당 프로젝트와 동일한 로깅 방법을 사용하는 방법은 무엇입니까? 사용 중인가? 즉, 일반적인 디버그, 경고, 정보 ... 메소드를 사용하여 로거 인터페이스를 작성했으며이 인터페이스의 구현은 log4j 또는 다른 로깅 메소드를 사용하여 해당 메소드를 구현할 수 있습니다. 이것을 jar로 배포하면 다른 프로젝트에서이 jar를 로깅 프레임 워크와 함께 어떻게 사용할 수 있습니까?Java 로깅 인터페이스

+6

왜 바퀴를 재발 명하고 싶습니까? 거기에 [SLF4J] (http://www.slf4j.org/)가 있습니다. –

답변

4

또 다른 로깅 프레임 워크를 작성하는 대신 SLF4J 로깅 API를 사용하도록 응용 프로그램을 다시 코딩하는 것이 좋습니다. 다른 로깅 구현에 인터페이싱하는 모든 작업이 완료되었으며 업계에서 잘 알려져 있습니다.

는 장점은 당신이 때 문자열이 실제로만이라고 그냥

log.debug("a={}, b={}", a, b); 

과 a.toString()와 b.toString()를 할 수 있도록 {} -placeholders을 얻을 수 있다는 것입니다 추가 입니다. 이렇게하면 디버그 설정에서 실행해야하는 경우가 아니라면 실제로 실행되지 않는 많은 로그 문이 허용됩니다.

+0

로깅 프레임 워크에서 어려운 부분은 로깅 할 때 좋은 성능을 보장하고 그렇지 않은 경우 우수한 성능을 보장하는 것입니다. –

0

log4j, java.util.logging 등과 같은 추상화 계층을 제공하는 라이브러리가 있습니다.이 라이브러리는 '인터페이스'역할을하고 프로젝트를 사용하는 사람은 자신이 선택한 구현을 사용할 수 있습니다. Apache Commons LoggingSLF4J을 살펴보십시오.