Merry Christmas
일반적으로 사용되는 Facade 로깅 라이브러리 는 JCL(http://commons.apache.org/logging/), SLF4J(http://www.slf4j.org/)
두개인거 같다.

이 두개의 라이브러리 모두 실제 로깅처리는 log4j 같은 실제 구현라이브러리들에 처리를 맡기는 구조이다.

자 그럼 이 두개의 라이브러리 중에 어떤걸 주로 쓰느냐 하면 SLF4J 라이브러리 이다.

JCL은 실제 로그 구현체를 선택하는 시점이 런타임이라 다중 클레스로더(ClassLoader)를 사용하는 환경에서 문제가
될수 있고 런타임시점에 동작하기 때문에 성능상에 이슈 또한 있다고 한다.

더불어서 SLF4J는 로그 출력시 포멧팅을 지원하기 때문에 JCL을 사용할때의 아래와 같은 불편함을 해결해준다.
성능상 심하게는 30배정도 더 빠르다고 한다. 믿거나 말거나..-_-

EX) JCL
if( log.isDebugEnabled() ) {
    log.debug(name + "님 안녕하세요");
}

EX) SLF4J
logger.deubg("{}님 안녕하세요", name);

이 두개의 예들은 같은 결과를 만들지만 보다시피 JCL을 사용할때 로그레벨을 확인하는 IF문이 SLF4J에는 빠져있다.
또한 SLF4J는 해당로그 레벨에서만 인자로 주어진(name) 값을 적용하기 때문에 로그레벨을 더이상 걱정할 필요가 없다.


참고 URL
http://blog.kangwoo.kr/52
http://www.slf4j.org/manual.html
http://kaludin.egloos.com/2799535
http://whiteship.tistory.com/2541

'유라이프 기술개발 자료 > 로깅' 카테고리의 다른 글

SLF4J 설정(log4j기반)  (0) 2012.02.08
Posted by 말라깽
: