网上看了很多篇文章关于如何配置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文件
在文件中新增如下配置
<configuration>
//添加这部分内容,改为自己的包路径
<logger name="com.kingboy.repository" level="DEBUG" />
<configuration>
将操作数据库sql记录到日志文件中
springboot+mybatis
mybatis:
# 标注待解析的mapper的xml文件位置
mapper-locations: classpath:mapper
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查询日志文件并写入的资料请关注编程网其它相关文章!