Java&Spring

Spring 쿼리 로그 보기 (Oracle)

ZZJJing 2023. 6. 22. 15:59

프로젝트를 하다보니 

쿼리가 안보이니깐 너무 불편했다. 

 

그래서 쿼리 로그를 보려고 찾아보다 정리함!

 

[ Oracle ] 

 

- pom.xml   추가 

<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 -->
<dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    <version>1.12</version>
</dependency>

 

- root-context.xml > dataSource 수정 

<!-- db.properties -->
<context:property-placeholder location="classpath:/db.properties"/>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName" value="${jdbc.driverClassName}"/>
   <property name="url" value="${jdbc.url}"/>
   <property name="username" value="${jdbc.username}"/>
   <property name="password" value="${jdbc.password}"/>
</bean>

- driverClassName이랑 url 수정해주면되는데 난 db.properties랑 열결시켜서 

db.properties 수정했다. (#이 기존 사용하던 것) 

#jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
#jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.url=jdbc:log4jdbc:oracle:thin:@localhost:1521:orcl

 

- src/main/resource 아래에  log4jdbc.log4j2.properties 생성 

안에 내용은 

 

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

 

- log4.xml 에 logger 추가 

난 쿼리만 보려고 이것만 추가함 

 

<logger name="jdbc.sqlonly" additivity="false"> 
    <level value="info"/> 
    <appender-ref ref="console"/> 
</logger>

 

 

이렇게 해주니 console 창에 

쿼리가 쫙쫙 잘나온다!