Dev's/Web

[Dev's]Spring 에서 SQL 로그를 확인할 수 있는 환경 만들기

rookas89 2020. 12. 24. 21:33
728x90

여러 삽질을 통해 가장 쉽게 SQL 로그를 확인할 수 있는 방법을 찾아내었다.

기존 Spring 웹 프로젝트를 생성하면, System.out.println이나 logger.info로 찍히는 로그는 확인할 수 있으나,

개발자가 작성한 쿼리문이 어떻게 동작하고, 결과값을 뱉어내는지 확인할 수 없다.

 

기존에 탑재 된, log4j의 설정을 변경해서 하는 방법도 있던데,

나는 이걸로 하니까, 제대로 로그가 안뜨는 문제가 있었다.

지금 생각해보면, 프로젝트 자체가 갱신이 안되서 확인을 못했던게 아닌가 싶다....

 

그렇게 삽질을 하던 중 찾아낸게, 

 

마이바티스(MyBatis) 쿼리 로그 출력 및 정렬하기

마이바티스를 이용하여 개발을 하다보면 쿼리가 보이지 않거나, 파라미터가 안나오거나 개행문자(\n) 등이 무시되면서 한줄로 쭈~~~~욱 나와서 불편한 경우가 많습니다. 이러한 경우에는 개발하

addio3305.tistory.com

이 내용이다.

이걸 보고 작업해준거라고는

 

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> 

 

이게 끝이다 = _=;;;

이렇게 하고 나니까, 

이렇게 결과를 볼 수 있다.

 

728x90