본문 바로가기
개발/Spring

[Spring Boot] log4j 설정

by 코딩하는 흰둥이 2023. 3. 10.
  • application.properties
#### Database

# oracle
spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:oracle:thin:@localhost:1521/XE
spring.datasource.username=system
spring.datasource.password=0000


# mysql
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo?autoReconnect=true&serverTimezone=UTC
spring.datasource.username=system
spring.datasource.password=0000

내가 주로 사용하는 oracle과 mysql로 적어두었다.

 

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

 

 

  • log4jdbc.log4j.properties 파일 생성하기
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0

[src/main/resources] 경로 밑에 생성하면 되고 확장자 선택할 필요없이 파일 생성해서 위 내용 넣어주면 된다.

 

  • logback.xml 파일 생성
<?xml version="1.0" encoding="UTF-8" ?>

<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"></appender-ref>
    </root>
</configuration>

[src/main/resources] 경로 밑에 생성하면 되고 확장자는 xml 이다.

 

 

프로그램을 재시작해주면 정상적으로 쿼리 로그가 찍히는 것을 확인 할 수 있다.

댓글