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문장이 잘 출력되었다.