728x90
  1. log4j2.xml 이 있는 경로에 log4jdbc.log4j2.properties 파일을 추가해준다.

log4jdbc.drivers=oracle.jdbc.driver.OracleDriver
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0

  1. pom.xml에 log4jdbc-log4j2-jdbc4.1 추가해 준다.org.bgee.log4jdbc-log4j2log4jdbc-log4j2-jdbc4.11.16
  2. context-datasource.xml에 driverClassName을 "net.sf.log4jdbc.sql.jdbcapi.DriverSpy"로 지정한다.
  3. log4j2.xml 구성
    의미  
jdbc.sqlonly  SQL 쿼리 문장만 로그로 남긴다. PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문이 보여진다.
jdbc.sqltiming SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보(milliseconds)를 포함한다.
jdbc.audit ResultSet ResultSet을 제외한 모든 JDBC 호출 정보를 로그로 남긴다. 많은 양의 로그가 생성되므로 특별히 JDBC 문제를 추적해야 할 필요가 있는 경우를 제외하고는 사용을 권장하지 않는다.
jdbc.resultset ResultSet을 포함한 모든 JDBC 호출 정보를 로그로 남기므로 매우 방대한 양의 로그가 생성된다.
jdbc.resultsettable  SQL 결과 조회된 데이터의 table을 로그로 남긴다

 

(log4j2.xml 예시)

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <!-- <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %5p [%c] %m%n"/>
        </Console>
    </Appenders> -->
    <Appender name="console" class="org.apache.log4j.ConsoleAppender">        
     <layout class="org.apache.log4j.PatternLayout">            
     <param name="ConversionPattern" value="%d %5p [%c] %m%n" />        
     </layout>       
    </Appender>

    <Loggers>
        <Logger name="kr.or.sportal" level="INFO" additivity="false">
            <AppenderRef ref="console"/>
        </Logger>

        <Logger name="org.springframework" level="ERROR" additivity="false">
            <AppenderRef ref="console"/>
        </Logger>
        <Logger name="org.mybatis.spring" level="DEBUG" additivity="false">
            <AppenderRef ref="console"/>
        </Logger>
        <Logger name="org.apache.ibatis.io.ResolverUtil" level="OFF" additivity="false">
            <AppenderRef ref="console"/>
        </Logger>

   <Logger name="jdbc.sqltiming" level="WARN" additivity="false">        
<AppenderRef ref="console" />    
</Logger>

   <Logger name="jdbc.sql" level="DEBUG" additivity="false">        
<AppenderRef ref="console" />
</Logger>

<Logger name="org.apache.commons" level="OFF" additivity="false">
<AppenderRef ref="console" />
</Logger>

<Logger name="log4jdbc.debug" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>

        <Root level="DEBUG">
            <AppenderRef ref="console"/>
        </Root>

</Loggers>

 

 

 

 

728x90

+ Recent posts