Springboot+logback不同业务的日志打印到不同文件

主要是用于系统日志和业务日志区分开,并且生成到不同的文件夹

参考:https://blog.csdn.net/mggwct/article/details/77718122

一.首先搭建springboot项目工程

二.

1.引入logback依赖

   在pom文件中引入:

   
        
            org.projectlombok
            lombok
            1.18.2
            provided
        

2.在配置文件中加入logback的配置

logging:
  config: classpath:log/logback.xml 

Springboot+logback不同业务的日志打印到不同文件_第1张图片

3在src/main/resources下引入log包

   Springboot+logback不同业务的日志打印到不同文件_第2张图片

4下面是properties的配置:

 logback.path=D:/local
logback.zip.path=D:/local
logback.maxFileSize=20KB
logback.maxHistory=15
logback.totalSizeCap=2048MB
logback.level=INFO

5logback.xml文件内容:

  




   
    
   
   
       
           
            %d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n
       

   

 
   
   
        ${logback.path}/sign.log
        true
       
            INFO
            ACCEPT
            DENY
       

                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            ${logback.zip.path}/%d{yyyy-MM-dd}/info222-%i.zip
           
            ${logback.maxFileSize}
           
            ${logback.maxHistory}
           
            ${logback.totalSizeCap}
       
       
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n
            UTF-8
       

   
    
   
   
       
   

   


   
       
       
   

 

6在项目主类找个位置 

Springboot+logback不同业务的日志打印到不同文件_第3张图片

7logfileName.java

package com.ctdcn.ecard.utils;

import org.apache.commons.lang3.StringUtils;

public enum LogFileName {

    //配置到logback.xml中的logger name="vipUser"
    BAITIAO_USER("baitiaoUser");

    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;
    }
}

8LoggerUtils.java

package com.ctdcn.ecard.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;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());
    }
}

 

9到此就可以测试了

public class TokenController {

 private final Logger logger = LoggerFactory.getLogger(TokenController.class);

  public static void main(String[] args) {
        BAITIAO_USER_LOG.info("白条用户进来了...");
  }

}

完成~~~~~~~!

你可能感兴趣的:(开发工具,JAVA)