티스토리 뷰

개발

logging framework - log4j, log4j 2.0, slf4j, logback

달리는개발자 2013. 1. 2. 16:17

logging framework를 검색 중에 logback을 써야겠다고 생각하고 정리를 하고 있었는데

log4j 2.0 으로 인해 잠시 혼돈.....^^;;

log4j 2.0을 소개하는 블로그에 누군가 log4j는 log4j 창시자가 slf4j/logback을 발전시킨 것과 비교해서 발전이 없다고 생각하고 그렇다면 slf4j/logback을 뛰어넘는 log4j 2.0의 특징을 알고 싶다고 댓글을 남겼다.

블로그 작성자인 ChristianGrobmeier가 logback을 만든 ceki를 제외한 나머지 사람들은 아직 회사에 남아 있다고......

순간 남아서 뭐한거지라는 생각밖에 안들었다.....ㅡㅡ;;;

log4j 2.0 개발자가 얘기하길 어떤 부분은 logback이 빠르고 어떤 부분은 log4j 2.0이 느리다고 한다.

개인적으로는 logback을 사용하고 싶다.

 

SLF4J

다음은 logback에서 말하는 나쁜 로깅이다. 로깅에 정수형을 문자열로 변경하는 형변환과 문자열 결합으로 인해 성능을 떨어뜨린다.

logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));

위의 예제를 아래와 같이 변경했을 경우 debugging이 활성화인 경우엔 문자열 결합 등이 일어나지 않아서 위의 예제보다는 성능이 뛰어나다고 생각하겠지만 비활성화인 경우엔 한번에 debugEnabled와 debug 메서드를 호출하기 때문에 이 방법도 나쁜 로깅이다.

if(logger.isDebugEnabled()) {  
   logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
}

 

좋은 로깅 방법

Object entry = new SomeObject();
logger.debug("The entry is {}.", entry);

 

 

참고

logback 사용해야 하는 이유 (Reasons to prefer logback over log4j)

Configure LogBack Logging with Spring

 

SLF4J(Simple Logging Facade for Java)

http://www.slf4j.org

http://www.slf4j.org/faq.html#logging_performance

 

LOGBack

http://logback.qos.ch/

 

Apache Log4j 2

http://logging.apache.org/log4j/2.x/performance.html

The new log4j 2.0

http://www.grobmeier.de/the-new-log4j-2-0-05122012.html

 

Log4j 사용법

 http://changpd.blogspot.kr/2013/05/spring-lo4j.html




반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함