mybatis / ibatis 로그를 사용하여 SpringBoot에서 SQL을 인쇄하십시오.

콘솔은 mybatis / ibatis에 해당하는 SQL을 인쇄합니다.

구성 파일에 다음 구성을 추가하고 콘솔에서 SQL 인쇄 로그를 보려는 로그 출력 레벨을 조정하십시오.
(예를 들어 .properties의 구성 형식, yaml 형식 인 경우 직접 수정할 수 있음)

# 配置sql日志的打印级别(这里设置成自己mapper的所在路径)
logging.level.com.xxx.jay.cust.mapper=info 

호스트의 로그 파일에 mybatis / ibatis에 해당하는 SQL을 인쇄합니다.

첫 번째 구성을 완료 한 후에도 서비스에 해당하는 sql이 호스트의 로그 파일 (app.log 또는 catalina.out)에 여전히 인쇄되지 않는 것으로 확인되었습니다. 그 이유는 구성 파일에 구성된 mybatis 인쇄 로그의 출력 모드가 org.apache.ibatis.logging.stdout.StdOutImpl을 사용
하기 때문입니다 .StdOutImpl 클래스를 확인하면 인쇄가 System.out.println ()임을 알 수 있습니다. 콘솔 출력이 인쇄되므로 SQL은 호스트의 console.log 아래에있는 로그에 해당합니다.

# 配置mybatis输出日志的方式,使用的为默认的StdOutImpl
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

StdOutImpl에 따라 mybatis 인쇄 로그의 출력 모드를 사용자 정의하고 구성 파일에서 자체 출력 모드 클래스로 구성 할 수 있습니다. 호스트의 로그 파일 (app.log 또는 catalina.out)에 서비스에 해당하는 SQL을 인쇄하여 온라인 문제를 쉽게 찾을 수 있습니다.

/**
 * @Author: jay
 * 定义mybatis的sql打印输出方式
 * @Date: 2020/11/30 14:48
 */
public class SqlLogUtils implements Log{
    
    
    private final java.util.logging.Logger log;

    public SqlLogUtils(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);
    }
}
# 配置mybatis输出日志的方式,指定使用自己定义的类。
mybatis.configuration.log-impl=com.xxx.jay.utils.SqlLogUtils

위의 두 단계를 완료하십시오. 1. 원하는 mybatis 출력 로그 유형을 정의하십시오. 2. 구성 파일이 새로 정의 된 클래스로 구성됩니다.
mybatis / ibatis 사용시 출력 된 sql이 호스트 로그에 출력됨을 알 수 있습니다.

추천

출처blog.csdn.net/weixin_49442658/article/details/110535601