반응형

spring boot 에서 Log4jdbc 를 사용해 실행된 쿼리 로그 확인.

1. log4jdbc를 dependency에 추가

<!-- log4jdbc -->
<dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    <version>1.16</version>
</dependency>


2. datasource 설정.
 - spring.datasource.driverClassName 은 모든 DBMS 공통.
 - spring.datasource.url 은 jdbc-db name 사이에 log4jdbc 추가.
spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/test


3. log4j2 설정 파일 생성.
- 파일 path
resources/log4jdbc.log4j2.properties

 - 파일 내용.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
(sql문 최대 출력 라인 수. 0:무제한, 미설정 : 한줄)


4. Logger 추가.

<logger name="jdbc" level="OFF"/>

<!-- SQL문만 로깅, PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문 출력 -->
<logger name="jdbc.sqlonly" level="OFF"/>

<!-- SQL문과 수행 시간 정보(milliseconds) 포함 -->
<logger name="jdbc.sqltiming" level="DEBUG"/>

<!-- ResultSet을 제외한 모든 JDBC 호출 정보 로깅. JDBC 문제를 추적해야 할 필요가 있는 경우에만 사용 -->
<logger name="jdbc.audit" level="OFF"/>

<!-- ResultSet을 포함한 모든 JDBC 호출 정보 로깅. 로그양이 많음 -->
<logger name="jdbc.resultset" level="OFF"/>

<!-- SQL 결과를 table 형태로 로깅 -->
<logger name="jdbc.resultsettable" level="DEBUG"/>

<!-- Connection의 연결과 종료에 관련된 로깅. 메모리 누수 확인? -->
<logger name="jdbc.connection" level="OFF"/>

 

※ Altibase  DB 에 적용 시.
VM옵션 추가 
   -Dlog4jdbc.drivers=Altibase.jdbc.driver.AltibaseDriver

 

반응형

'프로그래밍 > Java' 카테고리의 다른 글

Too many open files  (2) 2021.06.14
환경변수 값 읽어오기.  (0) 2021.04.05
Rabbit MQ 간단 사용.  (0) 2018.12.21
singleton 객체.  (0) 2018.12.06
openfire(xmpp) client  (0) 2018.11.06

+ Recent posts