아래 절차를 통해 로그로 찍어보자.
1. pom.xml 에 log4j-jdbc 추가
2. log4j.xml 수정
3. mybatis-context.xml 수정
1. pom.xml 에 log4j-jdbc 추가
<dependency>
<groupid>org.lazyluke</groupid>
<artifactid>log4jdbc-remix</artifactid>
<version>0.2.7</version>
</dependency>
2. log4j.xml 수정
기존에 있었던 log4j.xml 에 다음을 추가한다.
<appender name="console-infolog" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p %m%n" />
</layout>
</appender>
</pre>
<pre class="brush:xml">
<logger name="jdbc.sqlonly" additivity="false">
<level value="INFO"/>
<appender-ref ref="console-infolog"/>
</logger>
<logger name="jdbc.resultsettable" additivity="false">
<level value="INFO"/>
<appender-ref ref="console"/>
</logger>
3. mybatis-context.xml 수정
<context:property-placeholder location="classpath:config/jdbc.properties" />
<bean id="dataSourceSpied" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</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>
<bean id="sqlSessionFactoryId" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="suwon.spring.study" />
<property name="mapperLocations" value="classpath:mapper/*.xml" />
<property name="configLocation" value="/WEB-INF/spring/mybatis-config.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactoryId" />
</bean>
댓글 없음:
댓글 쓰기