반응형
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
반응형