[개요]
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의 파라미터 값들을 확인할 수 있었습니다.
[문제점]
이 방법을 적용하면 문제가 해결되지만 로그 레벨을 낮췄기 때문에 필요 이상의 로그들이 많이 쌓입니다.
따라서, 꼭 확인해야하는 상황이 아니라면 귀찮더라도 디비에서 직접 확인하시는 것을 추천드립니다.
반응형
'[DEV] 기록' 카테고리의 다른 글
[SpringBoot] Intellij IDEA 빌드 시 Command line is too long. Shorten command line for 에러 발생 (0) | 2021.01.04 |
---|---|
팀 개발을 위한 Git GitHub 시작하기 pg 170 '재배치 계속' 오류 (0) | 2021.01.03 |
[vue.js] Elements in iteration expect to have 'v-bind:key' directives (0) | 2021.01.01 |
제 39회 SQLD 합격 후기 (0) | 2020.12.31 |
[SpringBoot] There is no PasswordEncoder mapped for the id "null" (0) | 2020.12.15 |