은은하게 코드 뿌시기

log4j - DB로그 설정하기 dataSourceSpied 본문

웹/spring

log4j - DB로그 설정하기 dataSourceSpied

은은하게미친자 2022. 8. 24. 12:31
728x90

1. pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
        <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
        <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>1.1.1</version>
        </dependency>
 
        <!-- https://mvnrepository.com/artifact/org.lazyluke/log4jdbc-remix -->
        <dependency>
            <groupId>org.lazyluke</groupId>
            <artifactId>log4jdbc-remix</artifactId>
            <version>0.2.7</version>
        </dependency>    
cs

 

2. log4j.xml

1
2
3
4
5
6
7
    <!-- SQl logo -->
    <logger name="jdbc.sqlonly">
        <level value="info" />
    </logger>
    <logger name="jdbc.resultsettable">
        <level value="info" />
    </logger>
cs

 

 

패키지명 제대로 적혀있는지 확인

1
2
3
4
    <!-- Application Loggers -->
    <logger name="kr.co.dong">
        <level value="info" />
    </logger>
cs

 


3. root-context.xml

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    <!-- Root Context: defines shared resources visible to all other web components -->
    <bean id="dataSourceSpied" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/scott?serverTimezone=UTC"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>    
        <!-- db Log추가 -->
     <bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource"> 
         <constructor-arg ref="dataSourceSpied" /> 
         <property name="logFormatter"> 
             <bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter"> 
                 <property name="loggingType" value="MULTI_LINE" /> 
                 <property name="sqlPrefix" value="SQL : "/> 
             </bean> 
         </property> 
     </bean> 
cs

 

4.사용 예제

1
2
3
4
5
6
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
protected Logger log = LoggerFactory.getLogger(LoggerAspect.class);
 
log.info("-> 수행시간 :" + (end-start) + "ms");
cs

 

 

 

 

 

 

728x90
Comments