[DEV] 기록

Hibernate SQL 파라미터 값들을 로그에서 확인하는 방법

꾸준함. 2021. 1. 2. 02:10

[개요]

hibernate sql을 실행하는데 쿼리 파라미터 값이 보이지 않고 아래와 같이 '?'로 로그가 남았습니다.

굳이 워크벤치를 확인하지 않고 로그만 보더라도 값들이 잘 들어갔나 확인하기 위해 실제 파라미터 값들이 보였으면 해서 방법을 찾아봤습니다.

 

[해결방법]

해결방법은 의외로 간단했습니다.

log4j.properties 파일에 아래와 같이 작성을 해주면 됩니다.

# Root logger option
log4j.rootLogger=DEBUG, stdout
 
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
 
log4j.logger.org.hibernate=TRACE

여기서 핵심은 log4j.logger.org.hibernate=TRACE 입니다.

hibernate 로그 레벨을 TRACE로 낮춤으로써 비로소 아래와 같이 hibernate sql의 파라미터 값들을 확인할 수 있었습니다.

 

[문제점]

이 방법을 적용하면 문제가 해결되지만 로그 레벨을 낮췄기 때문에 필요 이상의 로그들이 많이 쌓입니다.

따라서, 꼭 확인해야하는 상황이 아니라면 귀찮더라도 디비에서 직접 확인하시는 것을 추천드립니다.

반응형