3. Back-end/3-2. Spring MVC - 남궁성

SpringMVC - [ SQL문 실행 로그 찍기 ]

yunyj99 2023. 4. 16. 17:46

1. pom.xml 파일에 아래 dependency 추가

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

 

 

 

2. resources 폴더 아래 파일 2개 추가

1) log4jdbc.log4j2.properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

2) logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
	<include resource="org/springframework/boot/logging/logback/base.xml"/>
	
	<!-- log4jdbc-log4j2 -->
	<logger name="jdbc.sqlonly" level="INFO"/>
	<logger name="jdbc.sqltiming" level="INFO"/>
	<logger name="jdbc.audit" level="WARN"/>
	<logger name="jdbc.resultset" level="INFO"/>
	<logger name="jdbc.resultsettable" level="INFO"/>
	<logger name="jdbc.connection" level="INFO"/>
</configuration>

 

 

 

3. root-context.xml 파일 수정

driverClassName과 url을 아래 코드로 수정

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
	<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
	<property name="url" value="jdbc:log4jdbc:mysql://localhost:3306/springbasic?useUnicode=true&amp;characterEncoding=utf8"></property>
<!--	<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>-->
<!--	<property name="url" value="jdbc:mysql://localhost:3306/springbasic?useUnicode=true&amp;characterEncoding=utf8"></property>-->
	<property name="username" value=""></property>
	<property name="password" value=""></property>
</bean>

 

 

 

 

그러면 로그에 이런 식으로 실행된 sql문이 찍힌다!

 

 


참조
https://fastcampus.co.kr/dev_academy_nks

 

스프링의 정석 : 남궁성과 끝까지 간다 | 패스트캠퍼스

국비지원 조기 마감 신화, 베스트셀러 'JAVA의 정석'의 저자 남궁성의 Spring 강의입니다! 오픈톡방과 카페에서 평생 AS를 제공하며 완강과 취업까지 도와드립니다. 지금 할인가로 확인하세요!

fastcampus.co.kr