# MyBatisPlus 的日志处理(slf4j)

# 介绍

MyBatisPlus 的日志配置:

mybatis-plus:
  configuration:
   log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

StdOutImpl 只是输出到控制台

可以重写 StdOutImpl 通过 slf4j 输出日志

trace 级别的日志才会输出 SQL 的结果集

# 重写 StdOutImpl

配置:

mybatis-plus:
  configuration:
   log-impl: com.example.common.log.MyBatisPlusLog

MyBatisPlusLog:

package com.example.common.log;

import org.apache.ibatis.logging.Log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyBatisPlusLog implements Log {
    private static final Logger logger = LoggerFactory.getLogger(MyBatisPlusLog.class);

    public MyBatisPlusLog(String clazz) {
        // Do Nothing
    }

    @Override
    public boolean isDebugEnabled() {
        return true;
    }

    @Override
    public boolean isTraceEnabled() {
        return true;
    }

    @Override
    public void error(String s, Throwable e) {
        logger.error(s);
        e.printStackTrace(System.err);
    }

    @Override
    public void error(String s) {
        logger.error(s);
    }

    @Override
    public void debug(String s) {
        logger.debug(s);
    }

    @Override
    public void trace(String s) {
        logger.trace(s);
    }

    @Override
    public void warn(String s) {
        logger.warn(s);
    }
}

# 参考

本章目录