로그레벨
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
TRACE : 추적 레벨은 Debug보다 좀더 상세한 정보를 나타냄
DEBUG : 프로그램을 디버깅하기 위한 정보 지정
INFO : 상태변경과 같은 정보성 메시지를 나타냄
WARN : 처리 가능한 문제, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타냄
ERROR : 요청을 처리하는 중 문제가 발생한 경우
FATAL : 아주 심각한 에러가 발생한 상태, 시스템적으로 심각한 문제가 발생해서 어플리케이션 작동이 불가능할 경우
1.pom.xml 주입
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
2.log4jdbc.log4j2.properties
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
#사용 드라이버 명시적 지정(미지정시 log4jdbc는 기본으로 com.mysql.jdbc.Driver를 사용한다.)
log4jdbc.auto.load.popular.drivers=false
log4jdbc.drivers=com.mysql.cj.jdbc.Driver
3.log4j2.xml(or logback.xml)에 추가
<!--log4jdbc loggers -->
<Logger name="jdbc.sqlonly" level="info" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="jdbc.sqltiming" level="debug" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="jdbc.audit" level="off" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="jdbc.resultset" level="off" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="jdbc.resultsettable" level="debug" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="jdbc.connection" level="warn" additivity="false">
<AppenderRef ref="console" />
</Logger>
4.root-context.xml
<!--<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/springbasic?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"></property>
-->
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
<property name="jdbcUrl" value="jdbc:log4jdbc:mysql://localhost:3306/springbasic?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"></property>
<property name="username" value="jiwon"></property>
<property name="password" value="1234"></property>
</bean>