网上看了很多篇文章关于如何 配置mybatis的logback日志 的,复杂的简单的都有,但是有用的没几个,耽误了很多时间。通过对logback的学习,以下方式是一定可行的,希望可以为大家节省点时间。通常我们可以通过如下配置将操作数据库的sql语句打印到控制台上,但是如何将这些sql语句记录到日志文件中方便我们查询问题呢?
在logback中显示mybatis查询日志
一、配置文件
可以有多种不同的实现,以下是将日志输出到控制台
1 2 3 |
mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
二、定制包的日志level
1 2 3 4 |
logging: level: #你的repository的包 com.kingboy.repository: debug |
三、通过logback-spring.xml文件
在文件中新增如下配置
1 2 3 4 |
< configuration > //添加这部分内容,改为自己的包路径 < logger name = "com.kingboy.repository" level = "DEBUG" /> < configuration > |
将操作数据库sql记录到日志文件中
springboot+mybatis
1 2 3 4 5 6 |
mybatis: # 标注待解析的mapper的xml文件位置 mapper-locations: classpath:mapper/*.xml configuration: # org.apache.ibatis.logging.slf4j.Slf4jImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
具体实现方式是重写StdOutImpl类
实现方式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
package com.emily.infrastructure.datasource.log; import com.emily.infrastructure.logback.factory.LogbackFactory; import org.apache.ibatis.logging.Log; /** * @Description: 将mybatis sql语句记录到日志文件中实现类,是org.apache.ibatis.logging.stdout.StdOutImpl类的替换 * @Author: Emily * @create: 2021/8/22 */ public class LogBackImpl implements Log { public LogBackImpl(String clazz) { // Do Nothing } @Override public boolean isDebugEnabled() { return true ; } @Override public boolean isTraceEnabled() { return true ; } @Override public void error(String s, Throwable e) { LogbackFactory.module( "database" , "database" , s); e.printStackTrace(System.err); } @Override public void error(String s) { LogbackFactory.module( "database" , "database" , s); } @Override public void debug(String s) { LogbackFactory.module( "database" , "database" , s); } @Override public void trace(String s) { LogbackFactory.module( "database" , "database" , s); } @Override public void warn(String s) { LogbackFactory.module( "database" , "database" , s); } } |
要想重写的实现类生效,需将配置替换为实现类,如下:
1 2 3 4 5 6 |
mybatis: # 标注待解析的mapper的xml文件位置 mapper-locations: classpath:mapper/*.xml configuration: # org.apache.ibatis.logging.slf4j.Slf4jImpl log-impl: com.emily.infrastructure.datasource.log.LogBackImpl |
以上就是logback中显示mybatis查询日志文件并写入的方法示例的详细内容,更多关于logback显示mybatis查询日志文件并写入的资料请关注其它相关文章!
原文链接:https://blog.csdn.net/kingboyworld/article/details/78644416
查看更多关于logback中显示mybatis查询日志文件并写入的方法示例的详细内容...