spring boot logback配置说明(易懂)

前面看了网上的一些记录片段记录都不太完整也不友好,板砖过来简单修改注释和移除一些不必要的东西(如:彩色字体,有毛用!)
springboot2.x 已经给我们包含了logging包内继承了需要的log包,都是最合适的版本,不需要自己maven导入。

开始:

resources目录创建 logback-spring.xml 必须是这个 不然spring 不认.
你也可以自定义,修改入口配置logging.config=你的xml

logback-spring.xml内容如下:



    
    

    
    

    
    
    
        
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %msg%n
            UTF-8
        
    

    
    
        
        
            INFO
            
            ACCEPT
            DENY
        
        
            
            ${LOG_HOME}/${PROJECT_NAME}.info.%d{yyyyMMdd}.%i.log
            
            15
            
            10MB
        
        
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %msg%n
            UTF-8
        
    

    
    
        
        
            ERROR
            
            ACCEPT
            DENY
        
        
            
            ${LOG_HOME}/${PROJECT_NAME}.error.%d{yyyyMMdd}.%i.log
            
            15
            
            10MB
        
        
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %msg%n
            UTF-8
        
    

    
    
        
        
            INFO
            ACCEPT
            DENY
        
        
            
            ${LOG_HOME}/${PROJECT_NAME}.other.%d{yyyyMMdd}.%i.log
            
            15
            
            10MB
        

        
            [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %msg%n
            UTF-8
        
    
    
    
        
    

    
    
    
        
        
            
            
            
        
    

    
    
        
            
            
        
    


入口配置文件 application.properties 配置
这里提醒一下引入其他配置文件必须使用spring.profiles.include 统一规范,为什么请看配置注释

spring.application.name=springboot-demo-full
# 多个配置文件中有同一个值,以下情况获取值的效果:
# 1.启动命令不带--spring.profiles.active参数以application.properties首先启动
#  按顺序所有文件第一个配置的spring.profiles.active属性中指定的最后一个文件中含有该属性的值为准
#  如果所有文件都没有spring.profiles.active,
#  那么以pring.profiles.include配置的最后一个属性文件中的值为准
# 2.启动命令带--spring.profiles.active参数以参数指定的属性文件首先启动
#  此情况,以命令指定的配置文件中的值为准,其他文件中再配置spring.profiles.active也不会生效,如果不存在值,那么会以pring.profiles.include指定的最后一个文件中的值为准

##简要说
#  启动命令 java -jar name.jar --spring.profiles.active指定文件中的值优先级高于
#  文件中spring.profiles.active指定的文件列表中最后一次出现的值 > 文件中spring.profiles.include指定的文件列表中最后一次出现的值
# 总结说明:建议所有引入配置的时候避免用相同的配置属性 或 都使用 spring.profiles.include 覆盖前面的值,如果出现问题,查找问题也有规律可循。
spring.profiles.include=druid,mybatis
# 生产环境修改为prod
spring.profiles.active=dev 

代码中使用的时候切记别导错了包,包为:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

1.走INFO 和ERROR的拦截器 
 Logger logger = LoggerFactory.getLogger(xxxx.class);
 logger.info(msg);
 logger.error(msg);
2.走自定义拦截器的
 Logger logger = LoggerFactory.getLogger("other");
 logger.info(msg);

你可能感兴趣的:(spring boot logback配置说明(易懂))