Mybatis SQL日志打印自定义
大家都知道可以通过在配置文件中配置
<settings>
<setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/>
</settings>
打印配置到控制台.
有时候我们仅仅想打印sql日志,那应该怎么实现呢?有的人用拦截器,我这里提供另一种可选方案
自定义一个日志打印:
public class MyLog implements Log {
private final java.util.logging.Logger log;
public MyLog(String clazz) {
log = Logger.getLogger(clazz);
}
@Override
public boolean isDebugEnabled() {
return true;
}
@Override
public boolean isTraceEnabled() {
return false;
}
@Override
public void error(String s, Throwable e) {
log.log(Level.SEVERE, s, e);
}
@Override
public void error(String s) {
log.log(Level.SEVERE, s);
}
@Override
public void debug(String s) {
if(s.charAt(2) == '>' || s.charAt(0) == '<'){
log.log(Level.INFO, s);
}
}
@Override
public void trace(String s) {
log.log(Level.FINER, s);
}
@Override
public void warn(String s) {
log.log(Level.WARNING, s);
}
}
配置文件更改为:
<settings>
<setting name="logImpl" value="MyLog"/>
</settings>
完成了,是不是很简单…