Spring boot p6spy 적용

Spring boot p6spy 적용

Spring Spring boot p6spy 적용

Spring boot 2.3.7 기준으로 쿼리 로깅하기 위한 p6spy 라이브러리를 적용해보자.

글 쓰는 시점 기준으로 쿼리 로깅하면 log4jdbc-log4j2 라이브러리르 적용했는데

이 라이브러리가 2013년 12월까지만 업데이트가 되어있어

p6spy 라이브러리를 쿼리 로깅으로 적용해보았다.

문제점은 jdbc crud 처리를 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 설정

p6spy p6spy 3.9.1

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=%(sql)

(%(executionTime) ms)

위 설정은 변경한 설정만 넣었다.

spy.properties 파일 전체 설정 내용은 아래 사이트를 들어가 Common Property File Settings 항목을 참고하면 된다.

spy.properties url : p6spy.readthedocs.io/en/latest/configandusage.html

4. 테스트 코드 생성

여기서는 간단히 select 후 insert 하는 예제를 만들어서 테스트 해보았다(생략).

5. 수행 결과

건건이 로깅은 되는데 배치는 로깅이 안나온다.

끝.

from http://sooin01.tistory.com/142 by ccl(A) rewrite - 2021-01-08 02:02:09