由于工作原因,这里先不说连接数据库部分的配置,后面会补上,直接进入慢SQL日志记录。
1.applicationContext.xml中增加如下配置:
<bean abstract="true" id="mysql_database" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 监控统计拦截的filters,日志记录 edited by zhangpl 20140824 start --> <!-- 并在filters属性中配置了log4j --> <property name="proxyFilters"> <list> <ref bean="stat-filter" /> <ref bean="log-filter" /> </list> </property> <!-- 监控统计拦截的filters,日志记录 edited by zhangpl 20140824 end --> <property name="filters"> <value>stat,wall,log4j</value> </property> <!-- 其它基本配置略...--> </bean> <!-- 慢SQL记录 edited by zhangpl 20140824 start--> <bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"> <property name="mergeSql" value="true" /> <property name="slowSqlMillis" value="1000" /> <property name="logSlowSql" value="true" /> </bean> <bean id="log-filter" class="com.alibaba.druid.filter.logging.Log4jFilter"> <!-- <property name="resultSetLogEnabled" value="false" /> --> <!-- <property name="statementExecutableSqlLogEnable" value="true" /> --> </bean> <!-- 慢SQL记录 edited by zhangpl 20140824 end-->
2.log4j.properties中配置如下:
log4j.rootLogger=warn,A1,A2 #1.打印druid连接池SQL语句,info级别的语句打印到info_slowsql.log,warn级别语句打印到warn_slowlog.log; #2.将日志写到文件中; # Druid log4j.logger.druid.sql=info,A1,A2 log4j.logger.druid.sql.DataSource=info,A1,A2 log4j.logger.druid.sql.Connection=info,A1,A2 log4j.logger.druid.sql.Statement=info,A1,A2 log4j.logger.druid.sql.ResultSet=info,A1,A2 log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=../druid-logs/info_slowsql.log log4j.appender.A1.DatePattern='.'yyyy-MM-dd #log4j.appender.A1.File=${catalina.home}/logs/info_slowsql.log #log4j.appender.A1.File=${WebApp.TomcatHome}/logs/info_slowsql.log log4j.appender.A1.ImmediateFlush=true log4j.appender.A1.Append=true log4j.appender.A1.Threshold=info log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%p] [%c] - %m%n log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender log4j.appender.A2.File=../druid-logs/warn_slowsql.log log4j.appender.A2.DatePattern='.'yyyy-MM-dd #log4j.appender.A2.File=${catalina.home}/logs/warn_slowsql.log #log4j.appender.A2.File=${WebApp.TomcatHome}/logs/warn_slowsql.log log4j.appender.A2.ImmediateFlush=true log4j.appender.A2.Append=true log4j.appender.A2.Threshold=warn log4j.appender.A2.layout=org.apache.log4j.PatternLayout log4j.appender.A2.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%p] [%c] - %m%n
经过上面的配置,就会在文件中打印,如下的慢SQL语句:
...... [2014-08-26 11:12:59] [ERROR] [com.alibaba.druid.filter.stat.StatFilter] - slow sql 3121 millis. select count(1) from person where schoolid=? and isDeleted=0 and GET_FIRST_PINYIN_CHAR(username) =? ["145","a"] ......
有问题欢迎指正,可参考官方文档,以官方文档为准。
参考:http://www.oschina.net/question/97503_117693
相关推荐
NULL 博文链接:https://uuider.iteye.com/blog/2111172
Spring-Boot通过druid连接池获取连接操作SQLServer数据库 总结:【共3步】 第1步:添加druid和MSSQL Driver的依赖项; 第2步:配置连接字符串; 第3步:创建数据库操作类,使用@Bean注入DruidDataSource, 然后根据...
druid连接池和jar包及其源代码,淘宝团队开发。
MyBatis 通过第三方Druid数据连接池连接SQL server 简单例子,使用代理数据源模式
使用Druid数据连接池连接PostgreSQL简单例子,搭建一个简单测试环境
配置Druid连接池需要的jar包
基于阿里的druid连接池,自己把对国产数据库达梦的支持加上去了,支持了wall方式,暂时没发现什么问题 :) 使用方式同原版
springboot结合mybatis以及alibaba druid连接池 对clickhouse数据操作。使用clickhouse 的jdbc官方驱动
Druid为监控而生的数据库连接池,它是阿里巴巴开源平台上的一个项目。Druid是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能.它可以替换DBCP和C3P0连接池。Druid提供了一个高效、功能强大、可...
在网上看到框架整合druid连接池的不多,所以自己就做了这个完整框架整合druid连接池供大家参考学习
全面的druid(德鲁伊)连接池工具,包含释放对象资源以及关闭资源,下载即可使用
Druid连接池.mp4
idea配置两种连接池以及配置中间发现的区别和相同,需要注意的问题
druid下载 数据库连接池 内置三个jar包和一个配置文件 druid.properties druid-1.0.9.jar druid-1.0.9-javadoc.jar druid-1.0.9-sources.jar
SpringBoot基础(二)集成Mybatis和Druid连接池,基础入门。
druid连接池相关jar包,这是目前最好用的数据库连接池jar包了,特意分享出来,希望能帮助到更多的人吧
通过SpringAop实现多数据源的动态切换 并采用Druid连接池,可扩展继续增加数据库配置。
在功能、性能、扩展性方面,都超过其他数据库连接池,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid连接池...
DRUID连接池的实用 配置详解
druid连接池驱动