작은 콩 개발자/SQL

console 창에 쿼리 표시 하기 log4jdbc 사용하기

귤치치 2023. 8. 6. 18:06

프로젝트 상태

  • 스프링 부트 프로젝트
  • oracle 디비
  • maven

 

1. pom.xml 추가

		<!-- console 로그 표시 -->
		<dependency>
		    <groupId>org.bgee.log4jdbc-log4j2</groupId>
   			 <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
   			 <version>1.16</version>
		</dependency>

 

2. application.properties 생성

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0

 

3. logback.xml 생성

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-3level %logger{5} - %msg %n</pattern>
    </encoder>
  </appender>
  
  <logger name="jdbc" level="OFF"/>
  
  <logger name="jdbc.sqlonly" level="OFF"/>
  <logger name="jdbc.sqltiming" level="DEBUG"/>
  <logger name="jdbc.audit" level="OFF"/>
  <logger name="jdbc.resultset" level="OFF"/>
  <logger name="jdbc.resultsettable" level="DEBUG"/>
  <logger name="jdbc.connection" level="OFF"/>
  
  <root level="INFO">
    <appender-ref ref="STDOUT" />
  </root>
  
</configuration>

 

4. application.properties 변경

#datasoruce (oracle)
#spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
#spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe
#spring.datasource.username=test
#spring.datasource.password=12345

위를 아래와 같이 변경 해주어야 한다.

# log4j
spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:oracle:thin:@localhost:1521/xe
spring.datasource.username=test
spring.datasource.password=12345