slf4j log 남길 때 주의사항

코딩은 많은 시행착오·2023년 10월 3일

back-end

목록 보기
4/18

김영한님의 스프링부트 강의를 듣다가 놓치기 쉬운 주의사항이 있어 기록한다.

slf4j를 사용할 때, 2가지 방법을 사용할 수 있다.

log.debug("data=" + data);

log.debug("data={}", data);

두 가지 로그는 결과적으론 차이가 없지만 실행 과정에서 차이를 보인다.

  1. 첫 번째 로그는 로그 출력 레벨이 debug가 아닌 info로 설정해도 해당 코드에 있는 string 연산이 실행된다.
    즉, 출력되지 않는 로그지만 메모리에 올라가 연산이 실행되게 된다.
  1. 두 번째 로그는 로그 출력 레벨이 info로 설정되어 있는 상태면 메서드 자체를 실행하지 않기 때문에 연산이 실행되지 않는다.

따라서, 되도록이면 두 번째 방법으로 로그를 남기는 습관을 들이자.

0개의 댓글