

이런식으로 SQL쿼리의 로그를 출력해준다 디버깅과 함께 사용하면 문제를 더욱 효율적으로 추적할 수 있게 해준다고합니다.
spring:
datasource:
url: jdbc:log4jdbc:mysql://localhost:3306/board
# driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
username: 유저 이름
password: 비밀번호
hikari:
connection-test-query: SELECT NOW() FROM dual
mybatis:
config-location: mybatis-config.xml
type-aliases-package: com.example.board.domain.post
mapper-locations: mappers/*.xml
configuration:
map-underscore-to-camel-case: true
config-location:
type-aliases-package:
mapper-locations:
이 3부분은 본인의 환경에 맞게 설정해주세요
resouce에 logback-spring.xml 추가
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<!-- Appenders -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<Pattern>%d %5p [%c] %m%n</Pattern>
</encoder>
</appender>
<appender name="console-infolog" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<Pattern>%d %5p %m%n</Pattern>
</encoder>
</appender>
<!-- Logger -->
<logger name="com.example" level="DEBUG" appender-ref="console" />
<logger name="jdbc.sqlonly" level="INFO" appender-ref="console-infolog" />
<logger name="jdbc.resultsettable" level="INFO" appender-ref="console-infolog" />
<!-- Root Logger -->
<root level="off">
<appender-ref ref="console" />
</root>
</configuration>```
logger의 name도 프로젝트에 맞게 수정이 필요하다.
appender는 전달받은 로그를 어디에 출력할지 결정해줍니다.(콘솔, 파일, DB 등)
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' /* Log4JDBC */
implementation는 implementation끼리 뭉쳐있어야 한다.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
대략적인 프로젝트 구조입니다

부족한점 및 로그의 레벨이나 타입같은 경우는 필요할 때 검색해 보는걸로...