[스프링 활용] 쿼리 파라미터 로그 남기기

atdawn·2024년 5월 30일

SPRING BOOT+JPA

목록 보기
15/49

참고 : 인프런 < 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 김영한 >



테스트를 진행하여 로그를 통해 쿼리를 확인할때 파라미터는 ?로 남게된다.
이러한 파라미터도 확인하는 방법을 알아보자.

application.yml 수정

logging:
  level:
    org.hibernate.SQL: debug # logger를 통해 하이버네이트 실행 SQL을 남김
    org.hibernate.orm.jdbc.bind: trace # 쿼리 파라미터 로그 남기기
    

로깅 설정을 수정 후 테스트를 다시 실행하면

binding parameter (1:VARCHAR) <- [memberA]
binding parameter (2:BIGINT) <- [1]

처럼 파라미터를 확인할 수 있다.


더 보기좋은 방법은 외부 라이브러리를 사용하는 것이다.

외부 라이브러리 사용
https://github.com/gavlyukovskiy/spring-boot-data-source-decorator

build.gradle 추가 (스프링 부트 3.0)
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'

insert into member (username,id) values (?,?)
insert into member (username,id) values ('memberA',1);

처럼 출력되는 것을 확인할 수 있다!

참고: 쿼리 파라미터를 로그로 남기는 외부 라이브러리는 시스템 자원을 사용하므로, 개발 단계에서는 편하게 사 용해도 된다. 하지만 운영시스템에 적용하려면 꼭 성능테스트를 하고 사용하는 것이 좋다.

profile
복습 복습 복습

0개의 댓글