使用logback按自己的需求打印日志到自定义的文件里

  • 定义工具类-创建对应的日志对象
  • 定义枚举类-存储定义的日志文件名称
  • logback.xml里配置对应的日志名称和日志等级

1_工具类 LoggerUtils

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class LoggerUtils {

    public static  Logger Logger(Class clazz) {
        return LoggerFactory.getLogger(clazz);
    }

    /**
     * 打印到指定的文件下
     *
     * @param desc 日志文件名称
     * @return
     */
    public static Logger Logger(LogFileName desc) {
        return LoggerFactory.getLogger(desc.getLogFileName());
    }
}

2_枚举类 LogFileName

import org.apache.commons.lang3.StringUtils;

public enum LogFileName {
    //配置到logback.xml中的logger name="getNextHh"
    GET_NEXT_HH("getNextHh"),
    GET_AGAIN_HH("getAgainHh"),
    GET_AI_ACTION("getAiAction"),
    TRAIN_ERROR("trainError"),
    USER_ERROR("userError"),
    PAY_ERROR("payError"),
    REVIEW_ERROR("reviewError"),
    WX_ERROR("wxError"),
    SYSTEM_ERROR("systemError"),
    PAY_DEBUG("payDebug");

    private String logFileName;

    LogFileName(String fileName) {
        this.logFileName = fileName;
    }

    public String getLogFileName() {
        return logFileName;
    }

    public void setLogFileName(String logFileName) {
        this.logFileName = logFileName;
    }

    public static LogFileName getAwardTypeEnum(String value) {
        LogFileName[] arr = values();
        for (LogFileName item : arr) {
            if (null != item && StringUtils.isNotBlank(item.logFileName)) {
                return item;
            }
        }
        return null;
    }
}

3_logger.xml, 按需配置即可



    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
            ${CONSOLE_LOG_PATTERN}
            UTF-8
        
    
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            
            ERROR
            ACCEPT
            DENY
        
        
            ${ROOT}%d/error/systemError.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            
            ERROR
            ACCEPT
            DENY
        
        
            ${ROOT}%d/error/trainError.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            
            ERROR
            ACCEPT
            DENY
        
        
            ${ROOT}%d/error/userError.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            
            ERROR
            ACCEPT
            DENY
        
        
            ${ROOT}%d/error/payError.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            
            ERROR
            ACCEPT
            DENY
        
        
            ${ROOT}%d/error/reviewError.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            WARN
            ACCEPT
            DENY
        
        
            ${ROOT}%d/warn.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            INFO
            ACCEPT
            DENY
        
        
            ${ROOT}%d/info.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            DEBUG
            ACCEPT
            DENY
        
        
            ${ROOT}%d/debug.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            DEBUG
            ACCEPT
            DENY
        
        
            ${ROOT}%d/debug/payDebug.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
    
        
            ${CONSOLE_LOG_PATTERN}
        
        
            TRACE
            ACCEPT
            DENY
        
        
            ${ROOT}%d/trace.%i.log
            ${MAXHISTORY}
            
                ${FILESIZE}
            
        
    
    
    
        
        
        
        
        
        
        
        
        
        
    
    
        
    
    
        
    
    
        
    
    
        
    
    
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
    
    
        
    
    
        
    
    
        
    
    
        
    
    
        
    


你可能感兴趣的:(使用logback按自己的需求打印日志到自定义的文件里)