写BUG的派大星

Patrick Star

  • 首页
  • 归档

  • 搜索
设计模式 Gis Kafka Druid 微信小程序 Java 开源项目源码 物体识别 机器学习 Mybatis 微服务 Feign OpenVPN CSS Streamsets CDH SpringCloud SpringBoot maven 分布式 Shell Tree Linux js WebSocket 多线程 集群 Hadoop 大数据 JDK ElasticSearch MySQL 数据库 Redis Http Nginx

Mybatis Log plugin + logback配置

发表于 2020-10-29 | 分类于 Java | 1 | 阅读次数 1301

Mybatis Log plugin是idea中的一个插件,用来监控mybatis日志,并输出拼装好的sql。

安装时直接在idea插件商店下载即可(2020版本可能需要付费)。

然后就在tools中打开就可以看到窗口了,

如图所示是正常的日志打印
image.png
插件中拼装好的sql:
image-20210108141827333

如果使用logback来打印sql信息的话,有两种方式

一种是直接使用stdOut来输出
修改mybatis日志配置为mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
但是这种方式下,会输出查询结果,如果结果比较多,控制台很乱,不易找到自己需要的信息。

如果使用logback配置日志输出格式的话,本地测试过程中发现,%m后面最好不要添加其他字符, 即日志输出配置最后以%m%n结束。
如下:

<property name="DEFAULT_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %clr(${PID:- }) %clr([%5p]) %m%n"/>

导致这个问题的原因猜测是通过在插件中设置的过滤字符串,进行split。
默认配置如下图,一个是Preparing 另一个是Parameters, 如果后面多了空格,括号之类的,可能导致解析不准确。
image.png

本地测试时,由于最开始%m与%n之间有空格,导致只有第一次可以显示拼好的sql,后面再使用的时候都不会显示出来sql。 不确定是否与这个有关系

  • 本文作者: Patrick
  • 本文链接: https://www.write1bug.cn/archives/mybatislogpluginlogback配置
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 设计模式 # Gis # Kafka # Druid # 微信小程序 # Java # 开源项目源码 # 物体识别 # 机器学习 # Mybatis # 微服务 # Feign # OpenVPN # CSS # Streamsets # CDH # SpringCloud # SpringBoot # maven # 分布式 # Shell # Tree # Linux # js # WebSocket # 多线程 # 集群 # Hadoop # 大数据 # JDK # ElasticSearch # MySQL # 数据库 # Redis # Http # Nginx
Python使用kafka生产或消费消息
Python多线程处理数据,并打印进度条
  • 文章目录
  • 站点概览
Patrick

Patrick

不是在改BUG,就是在写BUG。

52 日志
9 分类
36 标签
RSS
E-mail
Creative Commons
© 2018 — 2023 Patrick
人生如逆旅|我亦是行人
鲁ICP备18043140号-1