푸린세스

MySQL ~ log4jdbc 설정하기. 본문

spring/구멍가게코딩단-스프링

MySQL ~ log4jdbc 설정하기.

푸곰주 2023. 5. 3. 13:18

oracle 과 다소 차이가 있음.

 

1.pom.xml 설정하기

<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4 -->
    <dependency>
        <groupId>org.bgee.log4jdbc-log4j2</groupId>
        <artifactId>log4jdbc-log4j2-jdbc4</artifactId>
        <version>1.16</version>
    </dependency>

 

2.DB접속정보 수정 

-properties 파일의 경우 (#주석처리 부분이 변경전)

#driverClassName=com.mysql.cj.jdbc.Driver
driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
#url=jdbc:mysql://localhost:3306/jsp
url=jdbc:log4jdbc:mysql://localhost:3306/jsp

-스프링 root-context.xml 의 경우

 

 

[변경된부분]

. <context:component-scan base-package="org.moominzero.sample"></context:component-scan>
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>

<property name="jdbcUrl" value="jdbc:log4jdbc:mysql://localhost:3306/moominboard?autoReconnect=true&amp;useSSL=false&amp;serverTimezone=UTC"></property>
<property name="username" value="tommy2"></property>
<property name="password" value="1111"></property></bean>

 

 

[전체소스]

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd
http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

	
	<context:component-scan base-package="org.moominzero.sample"></context:component-scan>
	<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
	<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
	
	<property name="jdbcUrl" value="jdbc:log4jdbc:mysql://localhost:3306/moominboard?autoReconnect=true&amp;useSSL=false&amp;serverTimezone=UTC"></property>
	<property name="username" value="tommy2"></property>
	<property name="password" value="1111"></property></bean> 
	
	
	<!-- HikariCP configuration -->
<bean class="com.zaxxer.hikari.HikariDataSource" id="dataSource" destroy-method="close">
<constructor-arg ref="hikariConfig"/>
</bean>


<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
<property name="dataSource" ref="dataSource"/>
</bean>



<mybatis-spring:scan base-package="org.moominzero.mapper"/>
<context:component-scan base-package="org.moominzero.sample"> </context:component-scan>


	
		
</beans>

 

 

3. log4jdbc.log4j2.properties 생성하기

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

 

log4j2.xml 설정파일이 있는 동일한 디렉터리 ( src/main/resources) 에 생성합니다

src/test/resources 에도 생성해야합니다!

 

 

4.로그 레벨 설정

 

테스트코드 실행될때 로그 관련설정 -> src/test/resources 밑에 log4j.xml을 이용한다.로그 조절하고 싶다면 추가적인 <logger>을 지정해서 처리한다.

	<logger name="jdbc.audit">
		<level value="warn"/>
	</logger>

<logger name="jdbc.resultset">
		<level value="warn"/>
	</logger>
	
	
	<logger name="jdbc.connection">
		<level value="warn"/>
	</logger>

기본 설정 로그 info레벨

warn레벨: 좀 더 높은 레벨

 

로그의 양이 줄어들게된다.

 

 

 

 

 

출처:

https://shanepark.tistory.com/84

 

JDBC 와 MYSQL 연동하기 8) log4jdbc 적용하기

기존에 oracle에서 쓰던 설정을 그대로 가져왔더니 log4 설정이 제대로 먹히지 않았습니다. 그래서 몇가지 수정이 필요했습니다. pom.xml 에 dependency 추가 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 위의

shanepark.tistory.com

 

https://frozenpond.tistory.com/86

 

'spring > 구멍가게코딩단-스프링' 카테고리의 다른 글

페이징화면 처리 (14장)  (0) 2023.05.06
rownum과 index  (0) 2023.05.06
p190 MySQL~Oracle  (0) 2023.05.03
스프링MVC의 기본사상  (0) 2023.05.02
스프링MVC 기본구조  (0) 2023.05.02