P6SPY
- SQL 파라미터 값 바인딩하여 편하게 보는 Library
설정 방법
build.gradle
implementation("com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.1")
결과
2023-02-11 14:15:58.653 DEBUG 54753 --- [ main] org.hibernate.SQL :
/* insert datajpa.entity.Member
*/ insert
into
member
(username, id)
values
(?, ?)
2023-02-11 14:15:58.654 INFO 54753 --- [ main] p6spy : #1676092558654 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa
/* insert datajpa.entity.Member */ insert into member (username, id) values (?, ?)
/* insert datajpa.entity.Member */ insert into member (username, id) values ('memberA', 1);
2023-02-11 14:15:58.655 INFO 54753 --- [ main] p6spy : #1676092558655 | took 0ms | commit | connection 3| url jdbc:h2:tcp://localhost/~/datajpa
참고
application.yml 에서 logging.level.org.hibernate.type: trace
는 생략해도 된다.
p6spy 사용하기 때문에 파라미터가 중복되서 출력이 된다.
주의 사항
운영환경에서 성능 확인하고 사용할지 말지 결정하기
기타
spring-boot 2.7.8 에 p6spy 1.9.1 버전을 사용할 경우 로그에 파라미터가 바인딩되지 않는 현상이 있음.