从零开始···druid+log4j基本配置

在配置mybatis时用到了druid这个数据连接池,后来通过了解,它还提供了其它的一些功能,其中就包括日志的配置。
druid+log4j的基本配置如下:
1.首先是导入依赖包:

    <!-- https://mvnrepository.com/artifact/log4j/log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

druid的依赖包在配置mybatis时已经导入了,就不再重复了。
2.druid配置
在mybatis的配置时,在配置文件中有druid的基本配置

<!--数据库连接-->  
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">   
        <property name="url" value="${jdbc.url}" />  
        <property name="username" value="${jdbc.username}"/>  
        <property name="password" value="${jdbc.password}"/>  
        <!-- 配置初始化大小、最小、最大 -->  
        <property name="initialSize"><value>1</value></property>  
        <property name="maxActive"><value>5</value></property>  
        <property name="minIdle"><value>1</value></property>  
        <!-- 配置获取连接等待超时的时间 -->  
        <property name="maxWait"><value>60000</value></property>
        <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->  
        <property name="timeBetweenEvictionRunsMillis"><value>60000</value></property>  
        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->  
        <property name="minEvictableIdleTimeMillis"><value>300000</value></property>  
        <!-- 开启Druid的监控统计功能 -->
        <!-- 注意如果要用log4j一定要加上log4j -->
        <property name="filters" value="stat,log4j" />
         <!--日志配置 -->
         <property name="proxyFilters">
            <list>
                <ref bean="log-filter"/>
            </list>
        </property>
    </bean>  

最下面那个”开启Druid的监控统计功能”注释下的属性就是这次配置日志需要加的内容,作用就是像注释写的开启druid的监控功能。
还要添加上”log-filter”这个bean

<!--日志配置 -->
    <bean id="log-filter"       class="com.alibaba.druid.filter.logging.Log4jFilter">
        <property name="statementLogEnabled" value="true" />
    </bean>

以上是mybatis配置文件中需要添加的关于开启druid开启监控的内容
3.web.xml配置
首先是log4j的引入

<!-- 初始化参数,引入log4j配置-->
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.xml</param-value>
    </context-param>

    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>60000</param-value>
    </context-param>  

其中第一个是配置log4j的配置文件,第二个是扫描时间。
然后是过滤器和监听器的配置

<!-- 开启德鲁伊stat过滤,WebStatFilter用于采集web-jdbc关联监控的数据,注意放在其它的过滤器以及dispatcher前面-->
     <filter>
        <filter-name>DruidWebStatFilter</filter-name>
        <filter-class> 
            com.alibaba.druid.support.http.WebStatFilter
        </filter-class>
        <init-param>
            <param-name>exclusions</param-name>
            <param-value>
                /static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*  
            </param-value>
        </init-param>
     </filter>
     <filter-mapping>
        <filter-name>DruidWebStatFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
     <!-- log4j监听器 -->
     <listener>
        <listener-class>
            org.springframework.web.util.Log4jConfigListener 
        </listener-class>
     </listener>

这是web.xml中需要添加的内容,接下来是log4j.xml的配置
4.log4j配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                   value="[%d{yyyy/MM/dd hh:mm:ss}] %5p %c{2}: %m%n"/>
        </layout>
    </appender>
    <appender name="rollingFile" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="logs/server.log"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                   value="[%d{MMdd HH:mm:ss SSS\} %-5p] %c{3\} - %m%n"/>
        </layout>
    </appender>

    <!-- druid数据源配置打印日志 start-->
    <logger name="druid.sql">
        <level value="DEBUG"/>
    </logger>
    <logger name="druid.sql.DataSource">
        <level value="DEBUG"/>
    </logger>
    <logger name="druid.sql.Connection">
        <level value="DEBUG"/>
    </logger>
    <logger name="druid.sql.Statement">
        <level value="DEBUG"/>
    </logger>
    <logger name="druid.sql.ResultSet">
        <level value="DEBUG"/>
    </logger>
    <!-- end -->
    <root>
        <level value="INFO"/>
        <appender-ref ref="console"/>
    </root>
</log4j:configuration>

配置完成后就可以测试一下:
测试
总结:
虽然在百度查了好久之后配置成功了,但其实也仅只是成功了。其中的许多的配置信息不了解,如何控制日志的输出的内容也还需要去了解学习。不过druid确实是一个比较强大的工具,可以深入了解学习一下。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值