Spring-Boot/etc.

SpringBoot - DB 로그 찍기

PHM 2022. 5. 11. 09:05

0. gradle 추가

implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'

1. application.yml 파일 수정

#MySQL
spring:
  datasource:
    url: jdbc:log4jdbc:mysql://127.0.0.1:3306/boarddemo
    driverClassName : net.sf.log4jdbc.sql.jdbcapi.DriverSpy

2. log4jdbc.log4j2.properties 파일 추가 ( resource 밑 )

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

3. logback.xml 파일 추가 ( resource 밑 )

<?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" />
    </root>

</configuration>