logback中显示mybatis查询日志文件并写入的方法示例

网友投稿 465 2022-08-18


logback中显示mybatis查询日志文件并写入的方法示例

目录在logback中显示mybatis查询日志一、配置文件二、定制包的日志level三、通过logback-spring.xml文件将操作数据库sql记录到日志文件中

网上看了很多篇文章关于如何配置mybatis的logback日志的,复杂的简单的都有,但是有用的没几个,耽误了很多时间。通过对logback的学习,以下方式是一定可行的,希望可以为大家节省点时间。通常我们可以通过如下配置将操作数据库的sql语句打印到控制台上,但是如何将这些sql语句记录到日志文件中方便我们查询问题呢?

在logback中显示mybatis查询日志

一、配置文件

可以有多种不同的实现,以下是将日志输出到控制台

mybatis:

configuration:

log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

二、定制包的日志level

logging:

level:

#你的repository的包

com.kingboy.repository: debug

三、通过logback-spring.xml文件

在文件中新增如下配置

//添加这部分内容,改为自己的包路径

将操作数据库sql记录到日志文件中

springboot+mybatis

mybatis:

# 标注待解析的mapper的xml文件位置

mapper-locations: classpath:mapper/*.xml

configuration:

# org.apache.ibatis.logging.slf4j.Slf4jImpl

log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

具体实现方式是重写StdOutImpl类

实现方式如下:

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/22FIVYmJOTrQ

*/

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);

}

}

要想重写的实现类生效,需将配置替换为实现类,如下:

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查询日志文件并写入的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot为何可以使用Jar包启动详解
下一篇:java如何连接数据库executeUpdate()和executeQuery()
相关文章

 发表评论

暂时没有评论,来抢沙发吧~