Druid内置提供了四种LogFilter(Log4jFilter、Log4j2Filter、CommonsLogFilter、Slf4jLogFilter),用于输出JDBC执行的日志。这些Filter都是Filter-Chain扩展机制中的Filter,所以配置方式可以参考这里:Filter配置

1. 别名映射

在druid-xxx.jar!/META-INF/druid-filter.properties文件中描述了这四种Filter的别名

druid.filters.log4j=com.alibaba.druid.filter.logging.Log4jFilterdruid.filters.log4j2=com.alibaba.druid.filter.logging.Log4j2Filterdruid.filters.slf4j=com.alibaba.druid.filter.logging.Slf4jLogFilterdruid.filters.commonlogging=com.alibaba.druid.filter.logging.CommonsLogFilterdruid.filters.commonLogging=com.alibaba.druid.filter.logging.CommonsLogFilter

他们的别名分别是log4j、log4j2、slf4j、commonlogging和commonLogging。其中commonlogging和commonLogging只是大小写不同。

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close">... ...<property name="filters" value="stat,log4j" /></bean>

2. loggerName配置

LogFilter都是缺省使用四种不同的Logger执行输出,看实现代码:

public abstract class LogFilter {protected String          dataSourceLoggerName                 = "druid.sql.DataSource";protected String          connectionLoggerName                 = "druid.sql.Connection";protected String          statementLoggerName                  = "druid.sql.Statement";protected String          resultSetLoggerName                  = "druid.sql.ResultSet";}

你可以根据你的需要修改,在log4j.properties文件上做配置时,注意配置使用相关的logger。

2. 配置输出日志

缺省输入的日志信息全面,但是内容比较多,有时候我们需要定制化配置日志输出。

<bean id="log-filter" class="com.alibaba.druid.filter.logging.Log4jFilter"><property name="resultSetLogEnabled" value="false" />
</bean><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">...<property name="proxyFilters"><list><ref bean="log-filter"/></list></property>
</bean>
参数 说明
dataSourceLogEnabled 所有DataSource相关的日志
connectionLogEnabled 所有连接相关的日志
connectionLogErrorEnabled 所有连接上发生异常的日志
statementLogEnabled 所有Statement相关的日志
statementLogErrorEnabled 所有Statement发生异常的日志
resultSetLogEnabled  
resultSetLogErrorEnabled  
connectionConnectBeforeLogEnabled  
connectionConnectAfterLogEnabled  
connectionCommitAfterLogEnabled  
connectionRollbackAfterLogEnabled  
connectionCloseAfterLogEnabled  
statementCreateAfterLogEnabled  
statementPrepareAfterLogEnabled  
statementPrepareCallAfterLogEnabled  
statementExecuteAfterLogEnabled  
statementExecuteQueryAfterLogEnabled  
statementExecuteUpdateAfterLogEnabled  
statementExecuteBatchAfterLogEnabled  
statementCloseAfterLogEnabled  
statementParameterSetLogEnabled  
resultSetNextAfterLogEnabled  
resultSetOpenAfterLogEnabled  
resultSetCloseAfterLogEnabled  

4. log4j.properties配置

如果你使用log4j,可以通过log4j.properties文件配置日志输出选项,例如:

log4j.logger.druid.sql=warn,stdoutlog4j.logger.druid.sql.DataSource=warn,stdoutlog4j.logger.druid.sql.Connection=warn,stdoutlog4j.logger.druid.sql.Statement=warn,stdoutlog4j.logger.druid.sql.ResultSet=warn,stdout

5. 输出可执行的SQL

Java启动参数配置方式

-Ddruid.log.stmt.executableSql=true

logFilter参数直接配置

<bean id="log-filter" class="com.alibaba.druid.filter.logging.Log4jFilter"><property name="statementExecutableSqlLogEnable" value="true" /></bean>

https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_LogFilter

Druid 配置_LogFilter相关推荐

  1. druid配置数据库连接使用密文密码

    2019独角兽企业重金招聘Python工程师标准>>> spring使用druid配置dataSource片段代码 dataSource配置 <!-- 基于Druid数据库链接 ...

  2. mybatis配置mysql数据源_springboot+mybatis+Druid配置多数据源(mysql+postgre)

    springboot+mybatis+Druid配置多数据源(mysql+postgre) 引入pom依赖 org.mybatis.spring.boot mybatis-spring-boot-st ...

  3. Tomcat下使用Druid配置JNDI数据源

    转:Tomcat下使用Druid配置JNDI数据源 http://blog.csdn.net/houbin0912/article/details/52535982

  4. springboot mybatis-plus 配置 yml 、druid 配置 yml 、mybatis-plus 代码生成

    大家好,我是烤鸭: 今天分享一下 springboot mybatis-plus 和 druid 的yml 配置文件. pom <dependency><groupId>org ...

  5. Druid 配置及内置监控,Web页面查看监控内容 【我改】

    转: Druid 配置及内置监控,Web页面查看监控内容 1.配置Druid的内置监控 首先在Maven项目的pom.xml中引入包 1 2 3 4 5 <dependency>      ...

  6. JNDI学习总结(4)——Tomcat下使用Druid配置JNDI数据源

    com.alibaba.druid.pool.DruidDataSourceFactory实现了javax.naming.spi.ObjectFactory,可以作为JNDI数据源来配置. 一.下载D ...

  7. mybatis使用拦截器显示sql,使用druid配置连接信息

    mybatis使用拦截器显示sql,使用druid配置连接信息 mybatis sql Druid 1.显示出sql内容: 新建2个类: MybatisInterceptor :拦截sql,并获得输出 ...

  8. JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源

    com.alibaba.druid.pool.DruidDataSourceFactory实现了javax.naming.spi.ObjectFactory,可以作为JNDI数据源来配置. 一.下载D ...

  9. druid 配置理解及监控界面参数理解

    druid 配置理解 官方文档中的很多配置,不是太理解或者貌似理解了,自己不实践一下,心里也不踏实,所以决定自己搞一个demo测试一下理解理解各个配置到底是什么意思 一,druidDataSource ...

最新文章

  1. HDU 5821 Ball
  2. 2020 我的C++学习之路 C++PrimerPlus第八章课后习题
  3. 技术实践 | ICDE2021-大规模知识图谱预训练及电商应用
  4. C# 判断一字符串是否为合法数字(正则表达式)
  5. opencv-4.5.3 + opencv_contrib-4.5.3 + vtk-9.0.3编译(全流程)
  6. Win11这个界面你肯定没见过
  7. win10 完全卸载 MYsql8.0
  8. 进程调度算法(c语言)
  9. 纯css实现icon的网站,代码可复制
  10. Xaml技术:浅析为什么说一个标签就是new一个对象?
  11. java web 图片 加载_Java web开发中加载图片路径的两种方式
  12. 鸿蒙第二批升级时间,鸿蒙系统第二批升级名单_鸿蒙系统第二批有哪些手机可以升级...
  13. detach分片表非常慢的一个案例
  14. norflash/nandflash 启动分析 转
  15. 蓝桥杯 Cowboys
  16. c 编程语言翻译 网站,计算机语言翻译
  17. VMware虚拟机安装Windows2008详细过程
  18. PAT 1029 Median
  19. 陆涛喜欢夏琳吗_夏琳·香布利斯(Charlene Chambliss):从心理学到自然语言处理和应用研究
  20. 做了一个仿脸萌的app,哈哈

热门文章

  1. c++ 预处理命令 #error 用法
  2. 03_TF2 Guide、文档清单(数据输入、估计器、保存模型、加速器、性能调优等)、TF2库和扩展库(TensorBoard、数据集、TensorFlow Hub、概率和统计分析库、图像处理库)
  3. 匿名函数,结合闭包的写法,js对象的案例
  4. SQLite 创建表(http://www.w3cschool.cc/sqlite/sqlite-create-table.html)
  5. 2.oracle分页,找到员工表中薪水大于本部门平均薪水的员工
  6. 1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式
  7. 处理数字_8_计算不含最大/小值的均值
  8. adguard没有核心 core no_业主装修最后悔的五个地方!没有之一
  9. 深度学习论文翻译--Deep Residual Learning for Image Recognition
  10. STL Vector使用例程