Spring boot 项目 整合 logback (不同级别的日志输出到不同的文件以及不同环境日志输出)

一,需求

实现不同级别的日志输出到不同的文件,不同的环境使用不同的日志策略,并且按照大小和时间进行滚动。下面通过一个简单的小例子实现。

二,实现

1,pom


            org.springframework.boot
            spring-boot-starter-web
        

        
            org.projectlombok
            lombok
        

2,项目结构

Spring boot 项目 整合 logback (不同级别的日志输出到不同的文件以及不同环境日志输出)_第1张图片

3,配置文件

#application.yml

logging:
  config: classpath:logback/logback-spring.xml
  #path: D:/logs
spring:
  profiles:
    active: dev


#application-dev.yml

server:
  port: 8081


#application-test.yml

server:
  port: 8081


#application-prod.yml

server:
  port: 8081

日志配置logback-spring.xml








    
    

    
    

    
    
    
    

    
    
        
        
        
        
        
            ${CONSOLE_LOG_PATTERN}
            UTF-8
        
    

    
    
        ${LOG_PATH:-./logs}/trace.log
        
            ${LOG_PATTERN}
            UTF-8
        
        
        
            
            ${LOG_PATH:-./logs}/trace/trace-%d{yyyy-MM-dd}-%i.log
            
            
                100MB
            
            
            15
        
        
        
            trace
            ACCEPT
            DENY
        
    

    
    
        ${LOG_PATH:-./logs}/debug.log
        
            ${LOG_PATTERN}
            UTF-8
        
        
        
            
            ${LOG_PATH:-./logs}/debug/debug-%d{yyyy-MM-dd}-%i.log
            
            
                100MB
            
            
            15
        
        
        
            debug
            ACCEPT
            DENY
        
    

    
    
        ${LOG_PATH:-./logs}/info.log
        
            ${LOG_PATTERN}
            UTF-8
        
        
        
            
            ${LOG_PATH:-./logs}/info/info-%d{yyyy-MM-dd}-%i.log
            
                100MB
            
            
            15
        
        
        
            info
            ACCEPT
            DENY
        
    

    
    
        ${LOG_PATH:-./logs}/warn.log
        
            ${LOG_PATTERN}
            UTF-8
        
        
        
            ${LOG_PATH:-./logs}/warn/warn-%d{yyyy-MM-dd}-%i.log
            
                100MB
            
            
            15
        
        
        
            warn
            ACCEPT
            DENY
        
    

    
    
        ${LOG_PATH:-./logs}/error.log
        
            ${LOG_PATTERN}
            UTF-8
        
        
        
            ${LOG_PATH:-./logs}/error/error-%d{yyyy-MM-dd}-%i.log
            
                100MB
            
            
            15
        
        
        
            error
            ACCEPT
            DENY
        
    

    
    
        ${LOG_PATH:-./logs}/fatal.log
        
            ${LOG_PATTERN}
            UTF-8
        
        
        
            ${LOG_PATH:-./logs}/fatal/fatal-%d{yyyy-MM-dd}-%i.log
            
                100MB
            
            
            15
        
        
        
            fatal
            ACCEPT
            DENY
        
    

    
    

    
        
            
            
            
            
            
            
            
        
    
    
        
            
            
            
            
        
    

三,测试

启动项目访问测试

@Slf4j
@RestController
public class MyController {

    @GetMapping("test")
    public String test1() {
        log.trace("I am trace logging");
        log.debug("I am debug logging");
        log.info("I am info logging");
        log.warn("I am warn logging");
        log.error("I am error logging");
        return "logger finish";
    }

}

Spring boot 项目 整合 logback (不同级别的日志输出到不同的文件以及不同环境日志输出)_第2张图片

完成!!!

4,结束语

感兴趣的小伙伴可以在此基础上进行扩展。。。最近较忙由于时间问题不在赘述。

你可能感兴趣的:(spring,boot)