SpringBoot에 Log4jdbc 사용하기

오승환·2023년 8월 20일
0
post-thumbnail

스프링부트로 작성한 자바 웹 프로젝트에서 DB에 DML 쿼리를 요청하면
해당 쿼리결과를 콘솔창에 찍어주는, 상당히 편리한 도구이다.

[개발환경]
SpringBoot 3.1.2 ver
Java 17
Gradle

  1. 프로젝트 build.gradle 파일에 log4j 의존성 추가

    implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
  2. resoures/application.properties 파일에 datasource 수정

//datasource (오라클)

//기존설정
//spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
//spring.datasource.url=jdbc:oracle:thin:@[주소]

//log4jdbc 사용설정
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:oracle:thin:@[주소]
  1. resources 폴더에 log4jdbc 기본설정 파일 log4jdbc.log4j2.properties 추가

    log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
    log4jdbc.dump.sql.maxlinelength=0
  2. resources 폴더에 log4jdbc 커스텀설정 파일 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>
profile
반갑습니다

0개의 댓글