관리 메뉴

IT.FARMER

Spring mybatis pretty - query log 본문

Spring/spring mybatis

Spring mybatis pretty - query log

아이티.파머 2021. 11. 29. 18:37
반응형

Spring mybatis pretty - query log

Spring freamwork 에서 db 작업시 mybatis 를 주로 사용하게 된다.

실행되는 쿼리정보를 상세하고 보기좋게 봐야할때 사용한다.

  • 라이브러리 추가 log4ldbc.jar
  • log4jdbc.log4j2.properties 생성 및 설정
  • db 접속 정보 수정
    • driver class 변경

라이브러리 추가

implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'

db connection class 정보 변경

spring:
    datasource:
        driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
    url: jdbc:log4jdbc:mysql://localhost:3306/sample

log4jdbc.log4j2.properties 생성 및 설정

  • src/main/resource 폴더 하위에 log4jdbc.log4j2.properties 이름으로 생성
  • maxlinelength
  • sql 문을 몇줄까지 출력할지 지정하며, 0 으로 지정시 무제한
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0

Log level

  • jdbc.sqlonly
    SQL문만을 로그로 남기며, PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문이 보여진다.
  • jdbc.sqltiming
    SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보(milliseconds)를 포함한다.
  • jdbc.audit
    ResultSet을 제외한 모든 JDBC 호출 정보를 로그로 남긴다. 많은 양의 로그가 생성되므로 특별히 JDBC 문제를 추적해야 할 필요가 있는 경우를 제외하고는 사용을 권장하지 않는다.
  • jdbc.resultset
    ResultSet을 포함한 모든 JDBC 호출 정보를 로그로 남기므로 매우 방대한 양의 로그가 생성된다.
  • jdbc.resultsettable
    SQL 결과 조회된 데이터의 table을 로그로 남긴다.

application.yml

log:
    jdbc.sqlonly: debug
반응형