SpringBoot中使用mybatis/ibatis时日志打印sql

  • 控制台打印mybatis/ibatis对应的sql
  • 主机的日志文件中打印mybatis/ibatis对应的sql

控制台打印mybatis/ibatis对应的sql

只需在配置文件中增加以下配置,调整自己想要的日志输出级别即可在控制台看到自己sql的打印日志。
(举例为.properties的配置格式,如果是yaml格式自行修改即可)

# 配置sql日志的打印级别(这里设置成自己mapper的所在路径)
logging.level.com.xxx.jay.cust.mapper=info

主机的日志文件中打印mybatis/ibatis对应的sql

在做好第一步配置后发现主机的日志文件(app.log或catalina.out)中还是未打印服务对应的sql。原因为配置文件中配置的mybatis打印日志的输出方式使用的是org.apache.ibatis.logging.stdout.StdOutImpl,
查看StdOutImpl类发现打印为System.out.println()控制台输出打印的,所以sql对应的日志是在主机上的console.log下面。

# 配置mybatis输出日志的方式,使用的为默认的StdOutImpl
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

可以仿照StdOutImpl自定义mybatis打印日志的输出方式,在配置文件中配置成自己的输出方式类。即可实现在主机的日志文件(app.log或catalina.out)中打印服务对应的sql,方便对线上问题的定位。

/*** @Author: jay* 定义mybatis的sql打印输出方式* @Date: 2020/11/30 14:48*/
public class SqlLogUtils implements Log{private final java.util.logging.Logger log;public SqlLogUtils(String clazz) {log = Logger.getLogger(clazz);}@Overridepublic boolean isDebugEnabled() {return true;}@Overridepublic boolean isTraceEnabled() {return false;}@Overridepublic void error(String s, Throwable e) {log.log(Level.SEVERE, s, e);}@Overridepublic void error(String s) {log.log(Level.SEVERE, s);}@Overridepublic void debug(String s) {if(s.charAt(2) == '>' || s.charAt(0) == '<'){log.log(Level.INFO, s);}}@Overridepublic void trace(String s) {log.log(Level.FINER, s);}@Overridepublic void warn(String s) {log.log(Level.WARNING, s);}
}
# 配置mybatis输出日志的方式,指定使用自己定义的类。
mybatis.configuration.log-impl=com.xxx.jay.utils.SqlLogUtils

完成上述两步:1.定义自己想要的mybatis输出日志方式的类。 2.配置文件配置成自己新定义的类。
即可实现使用mybatis/ibatis时打印的sql在主机日志中输出

SpringBoot中使用mybatis/ibatis日志打印sql相关推荐

  1. mybatis配置log4j打印sql日志

    mybatis配置log4j打印sql日志 前提是你已经配置好了log4j. 在mybatis的配置文件中设置 <?xml version="1.0" encoding=&q ...

  2. mybatis结合log4j打印SQL日志

    mybatis结合log4j打印SQL日志 1.Maven引用jar包 默认的mybatis不能打印出SQL日志,不便于查看调试,需要结合log4jdbc-log4j2就可以完整的输入SQL的调试信息 ...

  3. Mybatis 开启控制台打印sql语句

    概述 springboot+mybatis整合过程中,开启控制台sql语句打印的多种方式: 方法1 在springboot+mybatis整合中,可以将springboot的配置文件添加如下一段也可: ...

  4. spring集成mybatis后,打印SQL语句

    1.美图 网上说mybatis的早前版本配置打印sql还比较简单,在3.0.6之后配置方式修改了. 现在的spring-mybatis.xml配置如下: <bean id="sqlSe ...

  5. springboot中整合mybatis及简单使用

    springboot中整合mybatis及简单使用 1.引入依赖 2.在applicaiton.yaml中配置数据源以及mybatis 3.创建sql测试表 4.编写mapper接口和mapper.x ...

  6. springboot中的mybatis是如果使用pagehelper的

    springboot中的mybatis是如果使用pagehelper的 springboot中使用其他组件都是基于自动配置的AutoConfiguration配置累的,pagehelper插件也是一样 ...

  7. SpringBoot中关于Mybatis使用的三个问题

    SpringBoot中关于Mybatis使用的三个问题 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/8495453.html 原本是要讲讲PostgreSQL ...

  8. 帆软报表使用及设置日志打印sql

    1.通过日期返回星期数 WEEKDAY(Serial_number):获取日期并返回星期数. eg:  WEEKDAY("2005/9/10")等于6(星期六) 2.条件判断 sw ...

  9. 【SpringBoot】72、SpringBoot中接入轻量级分布式日志框架Graylog

    1.Graylog简介 Graylog 是一个开源的日志聚合.分析.审计.展现和预警工具.在功能上来说,和 ELK 类似,但又比 ELK 要简单很多.依靠着更加简洁,高效,部署使用简单的优势很快受到许 ...

最新文章

  1. 谈谈读“SEO实战密码”的一些感悟
  2. Photometric Stereo 初體驗
  3. 调试 不弹出 小米_时隔六年,小米NFC碰碰贴复活,碰一下自动亮灯、联网、投屏...
  4. 知识工场 | CN-DBpedia 漫游指南
  5. 小贷公司的风险成因及应对策略——策略篇
  6. Oracle多表联查时,某个字段由逗号分割的字符串组成,关系是此字符串切割后,对应另一张表某个字段,如何实现一条sql完成查询?
  7. python迭代遍历目录下所以文件(Iterating through directories with Python)
  8. 北理工网络安全导论作业:DES算法
  9. 全链路压测之全链自动化
  10. java实现一个录像大师
  11. 楚天音乐台的在线广播的URL代码
  12. html 百分比饼状图,highcharts饼状图百分比显示的数据和写的不同
  13. 计算机自我检测方法,电脑问题的自我检测方法有哪些?
  14. 【Redis】Redis配置文件详解
  15. 手机的1G,2G,3G和4G区别识记
  16. 蓝桥杯--第七届决赛:圆圈舞
  17. Cisco 路由器 基于时间控制策略案例
  18. Python爬虫系列:腾讯课堂Scrapy爬虫
  19. cocos2d-x 植入广告(一) 百度横屏、插屏广告
  20. python爬取网易词典,利用Python3和Charles爬取有道词典

热门文章

  1. 云服务器哪个最好?这家口碑杠杠的!
  2. ForkLift for Mac(文件管理程序)
  3. DirectSound 钢琴(2)
  4. X210移植MTK7601无线网卡驱动(下)
  5. “云”到底是什么?--科普贴
  6. thinkphp开发app商城项目源码下载(thinkphp)
  7. 关于今日头条屏幕适配
  8. 汇编语言程序设计---1~4章习题答案(王爽第二版)
  9. [EE261学习笔记] 9+.重侧δ函数
  10. ubuntu自定义安装里怎么选_安装ubuntu时怎么选择挂载点