Spring Boot + Mybatis에서 쿼리 로그 확인하기
Posted by Albert 917Day 18Hour 9Min 55Sec ago [2022-10-15]
1. maven log4jdbc 추가
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
2.
spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mariadb://192.242.222.1:3306/albert?characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=albert
spring.datasource.password=albert
driverClassName 을 기존 org.mariadb.jdbc.Driver 에서 net.sf.log4jdbc.sql.jdbcapi.DriverSpy 변경
url 항목을 기존 jdbc:mariadb://192.242.222.1에서 jdbc:log4jdbc:mariadb://192.242.222.1 로 변경
3. resources 디렉토리에 log4jdbc.log4j2.properties 파일 만들고
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
추가
4. resources 디렉토리에 logback.xml 파일만들고
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<logger name="jdbc" level="OFF"/>
<logger name="jdbc.sqlonly" level="TRUE"/>
<logger name="jdbc.sqltiming" level="DEBUG"/>
<logger name="jdbc.audit" level="OFF"/>
<logger name="jdbc.resultset" level="OFF"/>
<logger name="jdbc.resultsettable" level="OFF"/>
<logger name="jdbc.connection" level="OFF"/>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
추가
5. 사이트 재실행하면 로그가 출력되는거 확인할 수 있다. 로그설정은 4번 logback.xml 에서 원하는대로 설정하여 사용하면 됨