Log4jdbc2를 사용하여 로그설정

I. 목표

기존에 SQL문장등을 로그로 출력하여 보면 개행도 없이 한줄에 나오는등의 보기에 불편한 점이 많아, 이를 개선하고자 Log4jdbc2를 설정하기로 하였다.

II. 개발및 연구내용

1. pom.xml 에 아래와 같이 추가

<dependency>

<groupId>org.bgee.log4jdbc-log4j2</groupId>

<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>

<version>1.16</version>

</dependency>

 

2. Globals.properties 파일 수정

Globals.DriverClassName=oracle.jdbc.driver.OracleDriver

Globals.Url=jdbc:oracle:thin:@localhost:1521:TESTDB

위와 같이 부분을 찾아 아래처럼 수정

Globals.DriverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy

Globals.Url=jdbc:log4jdbc:oracle:thin:@localhost:1521/TESTDB

 

 

3. log4jdbc.log4j2.properties 생성

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4jdbc.dump.sql.maxlinelength=0

 

4. 로그파일 설정 : log4j2.xml

<logger name=”jdbc.resultset” level=”OFF” additivity=”false”><AppenderRef ref=”console”/></logger>

<logger name=”jdbc.resultsettable” level=”${logLevel}” additivity=”false”><AppenderRef ref=”console”/><AppenderRef ref=”appRollingFile”/></logger>

<logger name=”jdbc.sqltiming” level=”OFF” additivity=”false”><AppenderRef ref=”console”/></logger>

<logger name=”jdbc.sqlonly” level=”${logLevel}” additivity=”false”><AppenderRef ref=”console”/><AppenderRef ref=”appRollingFile” /></logger>

<logger name=”jdbc.audit” level=”OFF” additivity=”false”><AppenderRef ref=”appRollingFile” /></logger>

<logger name=”org.mybatis” level=”OFF” additivity=”false”><AppenderRef ref=”appRollingFile” /></logger>

 

III. 결론

아래와 같이 Mybatis에 있는 SQL문장이 잘 출력되었다.

태그 , ,