关闭mybatis 日志
关闭mybatis 日志
说明
- 在网上找了一大圈都没有靠谱的答案,有时候项目中的日志打印太多,需要屏蔽部分日志打印
mybatis 日志的实现
- 原理:就是mybatis 的日志抽取了公共的方法,需要依赖项目中的日志实现类,来实现日志打印,在不配置的时候,mybatis会按照如下的顺序去查找日志实现类
Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种方式:
- SLF4J
- Apache Commons Logging
- Log4j 2
- Log4j
- JDK logging
其实打开源码还有一些其他实现,但这几个是大家接触的最多的,如果找到日志实现,在项目启动的时候,mybatis 就会打印相关日志
关闭日志
- springboot 环境中
在mybatis 自动找不到 日志实现类的时候,可以指定日志实现类
在springboot 项目中可以通过在配置文件中配置该属性来指定 mybatis.configuration.log-impl
mybatis.configuration.log-impl=org.apache.ibatis.logging.nologging.NoLoggingImpl
这里配置的实现类,就是无处理,这样就关闭了日志打印,或者换成
org.apache.ibatis.logging.stdout.StdOutImpl
这两个mybatis 自带的实现类,NoLoggingImpl 是啥也不做,StdOutImpl 是将日志输出到控制台
public class StdOutImpl implements Log {
public StdOutImpl(String clazz) {
}
public boolean isDebugEnabled() {
return true;
}
public boolean isTraceEnabled() {
return true;
}
public void error(String s, Throwable e) {
System.err.println(s);
e.printStackTrace(System.err);
}
public void error(String s) {
System.err.println(s);
}
public void debug(String s) {
System.out.println(s);
}
public void trace(String s) {
System.out.println(s);
}
public void warn(String s) {
System.out.println(s);
}
}
- 如果是其他环境
在mybatis.xml 文件中,指定相同的 log-iml 属性 ,指定对应的日志实现即可
还没有评论,来说两句吧...