Programming/Spring Framework

[Spring Boot] SQL Logging 사용

통통만두 2016. 10. 13. 14:42
반응형

Spring Boot 를 사용하다보니 설정면에 있어서 기존의 Spring 보다 엄청 편하고 좋네요!

개발시 SQL 문을 보고 싶을 경우에는 아래의 방법대로 하시면 확인하실 수 있습니다.


우선 pom.xml 파일에 아래와 같은 dependency 를 추가합니다.

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


그리고 나서 application.properties 파일의 datasource 설정을 아래와 같이 변경합니다.

#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:15000/mydb
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:15000/mydb


resources 폴더에 og4jdbc.log4j2.properties 파일을 생성하고 아래와 같이 작성합니다.

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0

이 때, 2번째 [log4jdbc.dump.sql.maxlinglength=0] 을 삭제하면 1줄로 길게 나옵니다.


resources 폴더에 logback.xml 을 추가하고 아래와 같이 작성합니다.

<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>

<!-- log4jdbc-log4j2 -->
<logger name="jdbc.sqlonly" level="OFF"/>
<logger name="jdbc.sqltiming" level="INFO"/>
<logger name="jdbc.audit" level="OFF"/>
<logger name="jdbc.resultset" level="OFF"/>
<logger name="jdbc.resultsettable" level="OFF"/>
<logger name="jdbc.connection" level="OFF"/>
</configuration>

sql 문만 보고 싶을 경우에는 jdbc.sqlonly 의 level을 INFO로 변경하셔서 사용하시면 됩니다.

각각의 설정에 대한 부분은 직접 수정해서 돌려보시거나 검색해보시면 더욱 더 자세히 아실 수 있습니다.


감사합니다.












반응형

'Programming > Spring Framework' 카테고리의 다른 글

[Spring Boot] Filter 적용  (0) 2016.10.19
[Spring Boot] jasypt 암호화 적용  (0) 2016.10.18
[Spring Boot] tiles3 설정하기  (3) 2016.10.13
[Spring Boot] Interceptor 설정하기  (0) 2016.10.13
[Spring Boot] 초기 설정  (1) 2016.10.13