druid连接池标榜自己是唯一有监控的连接池,性能最好的连接池。其中一项是强大的日志功能,方便程序员定位问题,配置log4j2步骤如下:

1.去除springboot默认的logback日志框架,请参看我的另一篇博客https://blog.csdn.net/weixin_39370859/article/details/105039787

2.配置数据源(我用的是配置文件的方式,也可以代码里注解引入的方式),在resource下建相应的目录和spring的bean文件,比如我的

再在启动类里引入

接下来是druidBeans.xml的配置

 <!--name属性,配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。如果没有配置,将会生成一个名字,格式是:"DataSource-" + System.identityHashCode(this). 另外配置此属性至少在1.0.5版本中是不起作用的,强行设置name会出错--><bean id="dataSource" name="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close"><!--用户名、密码,url等其他 property的配置不写出来了--><!--类型是List<com.alibaba.druid.filter.Filter>,如果同时配置了filters和proxyFilters,是组合关系,并非替换关系--><property name="proxyFilters"><list><ref bean="log-filter"/></list></property></bean><bean id="log-filter" class="com.alibaba.druid.filter.logging.Log4j2Filter"><!--所有DataSource相关的日志--><!--<property name="dataSourceLogEnabled" value="true"/>--><!--所有连接相关的日志--><!--<property name="connectionLogEnabled" value="true"/>--><!--所有连接上发生异常的日志--><!--<property name="connectionLogErrorEnabled" value="true"/>--><!--所有Statement相关的日志--><!--<property name="statementLogEnabled" value="true"/>--><!--所有Statement发生异常的日志--><!--<property name="statementLogErrorEnabled" value="true"/>--><!--所有resultSet的日志--><!--<property name="resultSetLogEnabled" value="true"/>--><!--resultSet发生异常的日志--><!--<property name="resultSetLogErrorEnabled" value="true"/>--><!--数据库连接之前的日志--><!--<property name="connectionConnectBeforeLogEnabled" value="true"/>--><!--数据库连接后的日志--><!--<property name="connectionConnectAfterLogEnabled" value="true"/>--><!--提交之后的额日志--><!--<property name="connectionCommitAfterLogEnabled" value="true"/>--><!--连接回滚之后的日志--><!--<property name="connectionRollbackAfterLogEnabled" value="true"/>--><!--连接关闭之后的日志--><!--<property name="connectionCloseAfterLogEnabled" value="true"/>--><!--Statement创建之后的日志--><!--<property name="statementCreateAfterLogEnabled" value="true"/>--><!--StatementPrepared创建之后的日志--><!--<property name="statementPrepareAfterLogEnabled" value="true"/>--><!--StatementPrepare调用之后的日志--><!--<property name="statementPrepareCallAfterLogEnabled" value="true"/>--><!--StatementPrepare执行之后的日志--><!--<property name="statementExecuteAfterLogEnabled" value="true"/>--><!--Statement执行查询之后的日志--><!--<property name="statementExecuteQueryAfterLogEnabled" value="true"/>--><!--Statement执行更新之后的日志--><!--<property name="statementExecuteUpdateAfterLogEnabled" value="true"/>--><!--Statement执行批量之后的日志--><!--<property name="statementExecuteBatchAfterLogEnabled" value="true"/>--><!--Statement执行关闭之后的日志--><!--<property name="statementCloseAfterLogEnabled" value="true"/>--><!--参数日志--><!--<property name="statementParameterSetLogEnabled" value="true"/>--><!--result相关的日志--><!--<property name="resultSetNextAfterLogEnabled" value="true"/>--><!--<property name="resultSetOpenAfterLogEnabled" value="true"/>--><!--<property name="resultSetCloseAfterLogEnabled" value="true"/>--></bean>

log4j2监控可以以

<property name="filters" value="log4j2"/>

的方式引入,这个filters是过滤器列表,value里以逗号隔开,这里的log4j2是一个别名,是默认的,阿里的文档里有说明,filters的引入方法和proxyFilters的引入是组合关系,两者引入同一种filter的情况没测过,不是同一种filter的就两种都有效,用proxyFilters的好处是可以自己定制里边的属性。配置到这里就完事了。

3.效果

监控日志输出在你配置的log4j2.xml里的文件类型appender的路径里,没有改动的话在项目根路径下回生成logs文件夹,里头应包含文件列表:

其中druid-sql.log里头根据配置的属性可以记录连接开始时间、statement时间、sql参数、类型、sql语句、执行用时、statement销毁等

springboot(2.2.4)配置druid的log4j2日志监控相关推荐

  1. springboot 2.0.5配置Druid连接池和web监控后台

    配置类: import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewSe ...

  2. spring配置druid连接池和监控数据库访问性能

    Druid连接池及监控在spring配置如下: [html] view plaincopy <bean id="dataSource" class="com.ali ...

  3. SpringBoot配置druid连接池

    一.添加pom.xml <dependency><groupId>com.alibaba</groupId><artifactId>druid-spri ...

  4. springboot配置Druid数据源

    springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...

  5. SpringBoot(配置druid数据源、配置MyBatis、事务控制、druid 监控)

    SpringBoot 得到最终效果是一个简化到极致的 WEB 开发,但是只要牵扯到 WEB 开发,就绝对不可能缺少 数据层操作,所有的开发都一定秉持着 MVC 设计模式的原则,MVC 里面业务层不可少 ...

  6. log4j mysql 异步_spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)...

    一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...

  7. 【Spring】SpringBoot 配置 log4j2 日志

    1. 概述 官方参考文档:Log4j Apache Log4j2 是对原先的 Log4j 项目的升级版本,参考了 logback 的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升. 异常 ...

  8. springboot下配置druid监控

    springboot下配置druid监控 在springboot中引用的包 相关配置 页面访问 获取druid监控数据 官方介绍如下:Druid是Java语言中最好的数据库连接池.Druid能够提供强 ...

  9. Springboot配置Druid数据源详解

    配置数据源 1.添加Druid依赖 <!-- druid数据源--> <!-- https://mvnrepository.com/artifact/com.alibaba/drui ...

最新文章

  1. php中input的使用,php输入流php://input如何使用
  2. R语言ggplot2可视化增加坐标轴的刻度数实战:自定义坐标轴刻度粒度、增加坐标轴刻度的粒度、更加精细地表达
  3. mysql innodb 主键,Mysql InnoDB 引擎 主键性能
  4. 【PAT乙级】1069 微博转发抽奖 (20 分)
  5. 在DropboxEdge网络上评估BBRv2
  6. 一条命令解决系统N多故障
  7. C语言操作符 进阶 (常见错误及细节)
  8. 算法章节 递归、排序、⼆分查找
  9. Bootstrap简介
  10. 谈谈Spring开发框架
  11. mysql里面的页面筛选_【mysql】像很多网站(比如电商)里的筛选功能一般是如何实现的?...
  12. 在Eclipse上安装pydev开发工具
  13. 详解2008年日全食全过程
  14. opmanager邮件告警配置
  15. 小米手机各种检测代码
  16. php获取steam装备信息,api – 获取某人的Steam库存
  17. 梦幻西游转区后没显示原服务器,梦幻西游:你不知道的转区小细节,刷区时间不只是周二上午的10点...
  18. Pug教程-从入门到入坟
  19. python什么字体好看_python docx 中文字体设置的操作方法
  20. 2021年第十二届蓝桥杯大赛软件赛决赛C/C++大学A组 个人部分题解

热门文章

  1. 简易mysql数据库调优_MySQL数据库简单实用的优化方法
  2. word服务器草稿位置有必要更改么,如何改变WIN10常用文档的默认位置?真的有必要更改吗?...
  3. java 获取上下文_如何获得spring上下文的方法总结
  4. Redis的安装以及基本操作简介
  5. 微信小程序学习笔记(五)
  6. AAAI 2022 | 条件局部图卷积网络用以气象预测
  7. Swin Transformer升级版来了!30亿参数,刷榜多项视觉任务
  8. 今日arXiv精选 | 11篇ICCV 2021最新论文
  9. 直播 | CVPR 2021论文解读:引入因果结构的解耦表征学习
  10. Google新作:注意力机制是否真的能够提供模型的可解释性?