성장과정(dev)/Spring + Java + JPA
log4j sql로그 가독성 높이기
lowellSunny
2020. 9. 18. 13:39
sql 쿼리문 실행 중 에러가 발생 시 ERROR 로그로 출력하는데 포맷이 정해져있지 않고 개행없이 출력되기 때문에 확인이 힘들다. 검색하던 도중 아주 쉬운방법 발견 !
기존소스
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="30" />
<property name="maxActive" value="100" />
</bean>
수정 후 소스
<!-- 쿼리문 출력 포맷 생성 -->
<bean id="dataSourceSpied" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="30" />
<property name="maxActive" value="100" />
</bean>
<bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSourceSpied" />
<property name="logFormatter">
<bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter">
<property name="loggingType" value="MULTI_LINE" />
<property name="sqlPrefix" value="SQL : " />
</bean>
</property>
</bean>
net.sf.log4jdbc.Log4jdbcProxyDataSource 를 사용하여 포맷터를 추가하였다.
이후에 이쁘게 출력됨