https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1

// <https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1>
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
https://github.com/arthurblake/log4jdbc

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<!-- <https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3:fdl:logging:log4j_2:%EC%84%A4%EC%A0%95_%ED%8C%8C%EC%9D%BC%EC%9D%84_%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94_%EB%B0%A9%EB%B2%95> -->
<!-- Appenders -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<Pattern>%d %5p [%c] %m%n %r</Pattern>
</encoder>
</appender>
<!-- info부터 적용 table사용시 -->
<logger name="jdbc.resultsettable" additivity="false">
<level value="info" />
<appender-ref ref="console" />
</logger>
<!-- sql 로깅 -->
<!-- SQL문이 preparedStatement일 경우 argument값으로 대체된 SQL문 출력 -->
<logger name="jdbc.sqlonly" additivity="false">
<level value="info" />
<appender-ref ref="console" />
</logger>
<!-- resultset제외한 모든 jdbc 호출 정보 출력 -->
<logger name="jdbc.audit" additivity="false">
<level value="info" />
<appender-ref ref="console" />
</logger>
<!-- info부터 적용 기본적인 resultset-->
<!-- resultset을 포함한 모든 jdbc 호출 정보 로그 -->
<!-- resultsettable 만 사용하기 위해서 로그레벨은 warning시킨다. resultset이 중복됨 -->
<logger name="jdbc.resultset" additivity="false">
<level value="info" />
<appender-ref ref="console" />
</logger>
<!-- 수행시간을 찍는다-->
<logger name="jdbc.sqltiming" additivity="false">
<level value="info" />
<appender-ref ref="console" />
</logger>
<!-- Root Logger -->
<root level="off">
<appender-ref ref="console" />
</root>
</configuration>

# log4jdbc github
# <https://github.com/arthurblake/log4jdbc>
# log4jdbc-log4j2
# <https://github.com/brunorozendo/log4jdbc-log4j2>
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
⇒ “내가 DB에 어떤 SQL을 보내고 있는지”를 로그로 확인할 수 있게 해준다.
application.yml