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

#6_[spring boot] 쿼리 로그 찍기(gradle, mybatis)

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

이전 시간에 스프링 부트와 oracle, mybatis를 연동하는 실습을 하였습니다.


[개발/spring boot, gradle, mybatis Project] - #4_[spring boot] mybatis 연결하기(gradle)_MVC 구축


이제 sql문의 쿼리를 찍어보려고 합니다.

엄청난 삽질을 했습니다...


먼저 기본적인 logback.xml을 이용한 쿼리를 찍어보겠습니다.

스프링 부트에서는 클래스패스 밑에 logback.xml을 만들어주면 자동으로 위치를 잡습니다.


src/main/resources 밑에 logback,xml을 만드시면 됩니다.


logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">   
    <encoder>
      <pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-3level %logger{5} - %msg %n</pattern>
    </encoder>
  </appender>
 
  <logger name="jdbc" level="OFF"/>
 
  <logger name="jdbc.sqlonly" level="INFO" additivity="false">
    <appender-ref ref="STDOUT" />
  </logger>
 
  <logger name="jdbc.sqltiming" level="DEBUG" additivity="false">
    <appender-ref ref="STDOUT" />
  </logger>  
 
  <logger name="jdbc.resultsettable" level="INFO" additivity="false">
    <appender-ref ref="STDOUT" />
  </logger> 
 
  <root level="DEBUG">
    <appender-ref ref="STDOUT" />
  </root> 
</configuration>

그러면 로그가 찍힙니다.

20171110 15:16:04.199 [http-nio-8080-exec-3] DEBUG l.b.d.B.boardCount - ==>  Preparing: SELECT count(*) FROM ck_blt_rsrc WHERE 1=1  

20171110 15:16:04.245 [http-nio-8080-exec-3] DEBUG l.b.d.B.boardCount - ==> Parameters:  

20171110 15:16:04.304 [http-nio-8080-exec-3] DEBUG l.b.d.B.boardCount - <==      Total: 1 


그런데 문제는 한줄로 나오고 파라미터값이 제대로 나오지않아 확인하기 불편합니다.

이어서 눈에 보이기 쉬운 로그를 출력하기위해 log4jdbc-log4j2 를 이용해 보겠습니다.