study/springBoot

[Spring Boot] log4jdbc & logback으로 SQL 쿼리 콘솔로 보기

박허디 2024. 1. 6. 13:07
1. build.gradle

build.gradle에 log4dbc와 logback 의존성을 추가한다.

implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
testImplementation 'ch.qos.logback:logback-classic:1.4.14'

 


2. log4jdbc.log4j2.properties 파일 생성

* 위치: resources 폴더 하위 내 파일 생성 

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

 


3. application.properties의 DB 설정 수정
# 변경 전
spring.datasource.hikari.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/crud

# 변경 후
spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mariadb://localhost:3306/crud

 


4. logback.xml 파일 생성

* 위치: resources 폴더 하위 내 파일 생성 

<configuration>
	<appender name="STDOUT"
		class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] [%-5level] %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"/>
    <logger name="com.insilicogen" level="INFO" additivity="false">
        <appender-ref ref="STDOUT" />
    </logger>
    <root level="INFO"  >
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

 


5. Refresh, Rebuild

(1) 화면 우측 Gradle - 프로젝트 마우스 우측 클릭 - Refresh Gradle Dependencies

(2) 화면 상단 메뉴 Build - Rebuild Project 

 


결과