평범한 연구소

[Spring|MariaDB] SQL query 로그 출력하기 본문

JAVA

[Spring|MariaDB] SQL query 로그 출력하기

soyeonisgood 2023. 1. 26. 20:01

이전 포스팅에선 마리아DB-오라클의 차이를 공부했다. 

마리아DB는 Spring에서 기본적으로 쿼리 로그가 찍히지 않는다.

쿼리 로그가 찍히도록 설정해보자. 

 

pom.xml

  • 의존성 추가
<dependency>
	<groupId>org.bgee.log4jdbc-log4j2</groupId>
	<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
	<version>1.16</version>
</dependency>
<dependency>
	<groupId>org.apache.logging.log4j</groupId>
	<artifactId>log4j-api</artifactId>
	<version>2.19.0</version>
</dependency>
<dependency>
	<groupId>org.apache.logging.log4j</groupId>
	<artifactId>log4j-core</artifactId>
	<version>2.19.0</version>
</dependency>

 

jdbc.properties

  • driverClass 변경
#jdbc.driverClass=org.mariadb.jdbc.Driver
jdbc.driverClass=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
jdbc.url=jdbc:log4jdbc:mariadb://127.0.0.1:3306/mydb
jdbc.username=root
jdbc.password=java$!

 

 

구조 참고

log4j.xml 

  • 아래 코드 추가
	<!-- log SQL wuth timing information -->
	<logger name="jdbc.sqltiming">
		<level value="info" />
	</logger>
	<logger name="jdbc.resultset">
		<level value="info" />
	</logger>

 

 

log4jdbc.log4j2.properties 

  • 생성 후 아래 코드 작성
log4jdbc.drivers=org.mariadb.jdbc.Driver
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0

 

 

쿼리 로그 출력 !