본문 바로가기
spring

Oracle log4jdbc 쿼리로그 출력

by 신방동불주먹 2022. 12. 28.

https://freehoon.tistory.com/113

 

1. pom.xml 에 dependency 추가 

        <dependency>
            <groupId>org.bgee.log4jdbc-log4j2</groupId>
            <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
            <version>1.16</version>
        </dependency>
       

 

2. context-datasource.xml 수정 

driverClassName 과 url 이 수정된다.

 

변경전

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE" />
        <property name="username" value="아이디"/>
        <property name="password" value="패스워드"/>
    </bean>

 

변경후

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"/>
        <property name="url" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:XE" />
        <property name="username" value="아이디"/>
        <property name="password" value="패스워드"/>
    </bean>

 

3. resource 경로 밑에 log4j2.xml 이 없을 경우 추가 

사용자 환경에 따라 log level 를 지정. 

 

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %5p [%c] %m%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="java.sql" level="DEBUG" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Logger name="egovframework" level="DEBUG" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
          <!-- log SQL with timing information, post execution -->
        <Logger name="jdbc.sqltiming" level="DEBUG" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Logger name="org.springframework" level="INFO" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Root level="INFO">
            <AppenderRef ref="console" />
        </Root>
    </Loggers>
</Configuration>

4. properties 파일 신규 생성

log4jdbc.log4j2.properties 파일을 새로 추가 

위치는 log4j.xml이 있는 /src/main/resources 에

 

 

 

log4jdbc.log4j2.properties

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

 

파일의 내용은 위와 같이 딱 한 줄 

'spring' 카테고리의 다른 글

@RestController  (0) 2023.01.02
PRG 패턴  (0) 2022.12.28
Mybatis  (0) 2022.12.27
정리  (0) 2022.12.23
p223 화면구현  (0) 2022.12.23