Spring boot 2.3.7 기준으로 쿼리 로깅하기 위한 p6spy 라이브러리를 적용해보자.
글 쓰는 시점 기준으로 쿼리 로깅하면 log4jdbc-log4j2 라이브러리를 적용했는데
이 라이브러리가 2013년 12월까지만 업데이트가 되어있어
p6spy 라이브러리를 쿼리 로깅으로 적용해보았다.
문제점은 로깅처리에 대한 이해가 더 필요할 것 같다.
resultset, batch, 로깅 커스터마이징 처리 등...
p6spy는 2020년 7월까지 릴리즈가 되어있다. 아래는 p6spy와 p6spy 적용한 spring boot URL이다.
p6spy url : github.com/p6spy/p6spy
p6spy 적용한 spring boot url : github.com/p6spy/p6spy-it-spring-boot
이제 spring boot에 적용해보자.
p6spy 관련 설정만 보기로 하자.
1. pom.xml 설정
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>3.9.1</version>
</dependency>
2. application.yml 설정
# p6spy jdbc 설정
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
url: jdbc:p6spy:oracle:thin:@localhost:1521:orcl
# p6spy 로깅
logging:
level:
p6spy: info
3. spy.properties 생성 및 설정
<프로젝트>/src/main/resources 경로에 spy.properties 파일을 생성한다.
appender=com.p6spy.engine.spy.appender.Slf4JLogger
logMessageFormat=com.p6spy.engine.spy.appender.CustomLineFormat
customLogMessageFormat=took %(executionTime) ms | %(sql)
excludecategories=info,debug,result,resultset
위 설정은 변경한 설정만 넣었다.
spy.properties 파일 전체 설정 내용은 아래 사이트를 들어가 Common Property File Settings 항목을 참고하면 된다.
spy.properties url : p6spy.readthedocs.io/en/latest/configandusage.html
4. 테스트 코드 생성
여기서는 간단히 select 후 insert 하는 예제를 만들어서 테스트 해보았다(생략).
5. 수행 결과
끝.
'Spring' 카테고리의 다른 글
Spring AOP (0) | 2023.03.11 |
---|---|
Spring 빈이 아닌 클래스에서 빈 얻기 (0) | 2022.08.03 |
Spring batch chunk 동작 방식 (0) | 2020.11.05 |
Spring 4 interceptor custom annotation (0) | 2019.11.13 |
Spring 4 request logging (0) | 2019.11.07 |
댓글