Spring 에서 SQL 로그를 확인할 수 있는 환경 만들기
여러 삽질을 통해 가장 쉽게 SQL 로그를 확인할 수 있는 방법을 찾아내었다.
기존 Spring 웹 프로젝트를 생성하면, System.out.println이나 logger.info로 찍히는 로그는 확인할 수 있으나,
개발자가 작성한 쿼리문이 어떻게 동작하고, 결과값을 뱉어내는지 확인할 수 없다.
기존에 탑재 된, log4j의 설정을 변경해서 하는 방법도 있던데,
나는 이걸로 하니까, 제대로 로그가 안뜨는 문제가 있었다.
지금 생각해보면, 프로젝트 자체가 갱신이 안되서 확인을 못했던게 아닌가 싶다....
그렇게 삽질을 하던 중 찾아낸게,
이 내용이다.
이걸 보고 작업해준거라고는
pom.xml 에
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.6</version>
</dependency>
이 내용을 넣어주고, 메이븐 clean, install 해주고, 프로젝트 - clean을 해준다.
그리고, root-context.xml 에서 dataSource 내용을 아래와 같이 수정한다.
<bean id="dataSource_main" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.mariadb.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://:3306/test?characterEncoding=UTF-8" />
<property name="username" value=""/>
<property name="password" value=""/>
</bean>
<bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSource_main" />
<property name="logFormatter">
<bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter">
<property name="loggingType" value="MULTI_LINE" />
<property name="sqlPrefix" value="\n"/>
</bean>
</property>
</bean>
이게 끝이다 = _=;;;
이렇게 하고 나니까,
이렇게 결과를 볼 수 있다.