P6SPY – SQL 파라미터 값 바인딩하여 편하게 보는 Library

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 버전을 사용할 경우 로그에 파라미터가 바인딩되지 않는 현상이 있음.

Leave a comment