druid打印error的sql
来源:互联网 发布:淘宝双11红包微信群 编辑:程序博客网 时间:2024/05/16 05:48
druid 执行过程中,正常的sql可以打印拼接好的sql语句[设为debug级别,打印sql语句是非占位符那种],但是异常情况,prepare statement的sql就不打印了 ,只打印带占位符的sql,这时候如果想把这个sql直接拷贝出来行执行一下,还要自己一个一个拼接参数,比较麻烦. 所以做了一个扩展,支持打印异常情况下的拼接好的sql [本人用的mybatis做底层访问,其他类型未测试] .
- 创建一个类继承 Log4jFilter,
- 重写 statement_executeErrorAfter 方法
- xml数据源配置的filter改为新的类
下面是简易代码实现
/** * Created by fx on 2017/7/18. */public class MyLogFilter extends Log4jFilter { @Override protected void statement_executeErrorAfter(StatementProxy statement, String sql, Throwable error) { //print sql ,重点是 rawObject if (this.isStatementLogErrorEnabled()) { statementLogError("{conn-" + statement.getConnectionProxy().getId() + ", } execute error. " + statement.getRawObject(), null); } super.statement_executeErrorAfter(statement, sql, error); }}
<bean id="log-filter" class="MyLogFilter"> <property name="statementExecutableSqlLogEnable" value="true"/> </bean><!--数据源配置--><bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!--.............其他代码省略--> <property name="proxyFilters"> <list> <ref bean="log-filter"/> </list> </property> </bean>
阅读全文
0 0
- druid打印error的sql
- 关于使用druid打印出sql的优势
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- 应用Druid监控SQL语句的执行情况
- smplayer centos7
- Ethernet Type,IP Head Protocol Number
- 刚哥遇到了感情问题(二)--南洋ACM-1294
- 初识Android
- 析构函数什么情况下要定义为虚函数?
- druid打印error的sql
- 基于Swift的iOS应用程序开发:使用表格显示并控制数据(四):使用UIRefreshController实现下拉刷新
- java.util.ConcurrentModificationException异常分析
- java的注解规范
- Maven的pom.xml文件结构之环境配置distributionManagement
- cherrytree centos7
- Shader 全息效果
- 设计模式-单例模式
- WEB前端听课笔记——HTML之布局标签