[Logger]slf4j 사용해보기

지금 회사에서 slf4j와 log4j를 함께 쓰고 있어, 그 쓰임새를 알아보기 위해

간단히 테스트를 진행했다.

왜 slf4j를 사용하는지에 대해서는 아래 url에 나와있다.

즉, 결론만 말하면 로깅시 파라미터 바인딩으로 인해 필요한 파라미터와의 문자열 조합에

대한 성능을 높일 수 있다는 말이다. 그리고 로깅이 필요하지 않을때에는  아예

문자열조합을 하지 않는다.(slf4j faq 사이트)

The following two lines will yield the exact same output. However, the second form will outperform the first form by a factor of at least 30, in case of a disabled logging statement.

  logger.debug("The new entry is " + entry+".");
  logger.debug("The new entry is {}.", entry+".");

필요한 jar파일을 WEB-INF/lib 밑에 넣고, log4j.xml을 클래스패스에 설정한 뒤에

아래처럼 Logger를 선언하고 사용할 수 있다.

    Logger logger = LoggerFactory.getLogger(CommonController.class);

    logger.debug("slf4j 로깅 테스트 : {}", "test");

전에 logger를 사용할 때에는 파라미터와의 연결을 “+”로 했었지만, 이젠 필요한 곳에

“{ }” 을 사용하여 로깅하게 된다.

참고로,  로그파일의 한글이 깨질때에는 appender의 encoding param을 UTF-8로

세팅하면 된다.

   <appender name="FILE" class="org.apache.log4j.FileAppender">
	<param name="encoding" value="UTF-8" />
	<param name="File" value="C:\\test.log" />
	<param name="Append" value="true" />
	<layout class="org.apache.log4j.PatternLayout">
		<param name="ConversionPattern" value="[%d{HH:mm:ss.SSS}] %-5p %C{1}.%M(%F:%L) - %m%n" />
	</layout>
    </appender>

* 참고url

Advertisements

[Logger]slf4j 사용해보기”에 대한 2개의 생각

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

w

%s에 연결하는 중