각진 세상에 둥근 춤을 추자

[Sprint Boot] 로거 생성 및 slf4j를 이용한 로깅 본문

Spring

[Sprint Boot] 로거 생성 및 slf4j를 이용한 로깅

circle.j 2023. 1. 18. 10:34
1. application.properties

 

프로젝트 - src/main/resources - application.properties에서 로그 설정 코드를 작성한다.

#############################################
#log 설정
#############################################
#전체 로그 레벨: 개발시 debug, 실제 배포시: info
logging.level.root=info 

#패키지별 로그 레벨
logging.level.kr.co.ch10.controller=info
logging.level.kr.co.ch10.service=info

#로그 파일 경로("/" 로 시작하지 말것)
logging.file.name=log/Ch10.log

#추가 로그 설정
logging.level.jdbc.sqlonly=info
logging.level.jdbc.sqltiming=info
logging.level.jdbc.resultsettable=info
logging.level.jdbc.connection=info
logging.level.org.hibernate=info
logging.level.org.springframework.security=info

 

  logging.level.jdbc.sqlonly
  SQL문만을 로그로 남기며, PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문이 보여짐
  logging.level.jdbc.sqltiming
  SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보(milliseconds)를 포함
  logging.level.jdbc.resultsettable
  SQL 결과 조회된 데이터의 table을 로그로 남김
  logging.level.jdbc.connection
  Connection open close 로깅 여부 

 

로그 레벨 설정

 

 


방법1) logger 생성

 

Logger logger = LoggerFactory.getLogger(this.getClass());
logger.debug("log debug...");
logger.info("log info...");
logger.warn("log warn...");
logger.error("log error...");

 

Logger

 

LoggerFactory

 

 


방법2) Slf4j 어노테이션 

 

@Slf4j 어노테이션

 

logger.debug("log debug...");
logger.info("log info...");
logger.warn("log warn...");
logger.error("log error...");