#7_[spring boot] 쿼리 로그 찍기(gradle, mybatis)-log4jdbc-log4j2 :: 개발/일상_Mr.lee

#7_[spring boot] 쿼리 로그 찍기(gradle, mybatis)-log4jdbc-log4j2

Posted by Mr.mandu.
2017. 11. 19. 16:18 개발/spring boot, gradle, mybatis Project

이전에 logback.xml를 이용하여 기본 로그를 찍었습니다.

이번엔 log4jdbc-log4j2를 이용해 보도록 하겠습니다.


build.gradle

compile group: 'org.bgee.log4jdbc-log4j2', name: 'log4jdbc-log4j2-jdbc4', version: '1.16'



이렇게 입력해주셔야 합니다.

log4j를 입력했다가

To display the auto-configuration report re-run your application with 'debug' enabled.

이런 에러를 만난적도 있습니다.


이번엔 application.Properties를 수정하겠습니다.


application.Properties

spring.datasource.driver-class-name= net.sf.log4jdbc.sql.jdbcapi.DriverSpy

spring.datasource.url=jdbc:log4jdbc:oracle:thin:@


이렇게 수정해주셔야 합니다.

그리고 클래스 패스 밑에 log4jdbc.log4j2.Properties 를 생성합니다.


log4jdbc.log4j2.Properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4jdbc.dump.sql.maxlinelength=0


로그선언과 최대줄의 수의 제한을 없애는 작업입니다.


그리고 기존 logback.xml 파일은 이전 포스팅에 작성해 두었습니다.

[개발/spring boot, gradle, mybatis Project] - #6_[spring boot] 쿼리 로그 찍기(gradle, mybatis)



확인결과 이렇게 설정하고 로그를 확인해 보았습니다.


쿼리문이 이쁘게 나오는걸 확인 할 수 있었습니다.


하지만 저는 오라클을 쓰기 때문에

java.lang.AbstractMethodError: Method oracle/jdbc/driver/OracleResultSetImpl.isClosed()Z is abstract

이런 에러를 만났습니다.


이유를 알아보니 오라클 버전과 ojdbc 버전이 맞지않아 발생하는 에러였습니다.

현재...오라클 라이센스가 없으니 저는 기존 logback.xml 버전으로 로그를 찍기로 결정하였습니다.