博客 mybatis打印sql日志

mybatis打印sql日志

   数栈君   发表于 2023-08-24 10:28  914  0

背景:

我们日常操作数据库的过程一般都是使用mybatis中执行sql操作,有时候为了确认mybatis拼接的sql是否正确,就需要在日志中打印出具体的sql语句,对应的入参以及数据库的返回值

打印mybatis的sql日志:

一.sql日志输出到控制台,修改mybatis-config文件,指定如下配置:

<setting name="logImpl" value="STDOUT_LOGGING"/>

二.sql日志输出到文件,修改mybatis-config文件,指定如下配置

2.1 <!--指定 MyBatis 增加到日志名称的前缀,注意这里有一个.号-->
        <setting name="logPrefix" value="sqlLogFileName."/>
        <!--指定 MyBatis 所用日志的具体实现,未指定时将自动查找。SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING-->
        <setting name="logImpl" value="SLF4J"/>

2.2 logback或者log4j增加配置:

appender("ROLLING", RollingFileAppender) {
    encoder(PatternLayoutEncoder) {
        Pattern = "[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%level] [%thread] [%logger{50}] >>> %msg%n"
    }
    rollingPolicy(SizeAndTimeBasedRollingPolicy) {
        fileNamePattern = "log-%d{yyyy-MM-dd}-%i.log"
        maxFileSize = "2GB"
    }
}
appender("ROLLING-ASYNC", AsyncAppender) {
    queueSize = 40960
    neverBlock = true
    appenderRef("ROLLING")
}
//最关键的一句
logger("sqlLogFileName", DEBUG, ["ROLLING-ASYNC"], false)

关键是日志级别要修改成DEBUG级别

日志效果:
[2023-07-07 17:39:49.533] [DEBUG] [**-thread-2] [org.mybatis.spring.SqlSessionUtils] >>> Creating a new SqlSession
[2023-07-07 17:39:49.647] [DEBUG] [**-thread-2] [dao.***Mapper.selectByStatus] >>> ==> Preparing: select user_id, status, is_deleted, create_time, update_time from user where status = ?
[2023-07-07 17:39:49.650] [DEBUG] [**-thread-2] [dao.***Mapper.selectByStatus] >>> ==> Parameters: 0(Byte)
[2023-07-07 17:39:51.620] [DEBUG] [**-thread-2] [dao.***Mapper.selectByStatus] >>> <== Total: 805
[2023-07-07 17:39:51.622] [DEBUG] [**-thread-2] [org.mybatis.spring.SqlSessionUtils] >>> Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b989b3b]

主要信息包括执行的sql语句,sql的入参,sql的返回值(对update或者insert语句很有用).



免责申明:


本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack


0条评论
上一篇:Docker启动Mysql
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群