spring boot logback 日志多环境配置uat dev prd等及logPath_IS_UNDEFINED问题解决

使用自定义日志配置日志多环境配置.https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-custom-log-levels

logging.config 指定自定义logback-xxx.xml配置文件,不要使用logback-spring.xml,因为会出现logPath_IS_UNDEFINED文件夹.

https://blog.csdn.net/vitech/article/details/53812137,使用此博客中的方式,可以实现日志多环境,但是每次启动都会产生logPath_IS_UNDEFINED文件夹.猜测原因是springboot会加载两次logback-spring.xml,第一次加载配置,

 

参数还未加载,第二次加载配置才完成参数加载.

具体解决方案.

1.配置logback-xxx.xml配置文件,使用springProperty标签获取环境变量,具体参照博客https://blog.csdn.net/vitech/article/details/53812137

2.在application-uat,application-dev,application-prd中配置环境变量如:log.path=logs/logback/logs

3,在application-uat,application-dev,application-prd中指定自定义配置logging.config=logback-xxx.xml.

此方法中仅使用了一个配置文件logback-xxx.xml,通过环境变量实现日志多环境配置

还可以配置多个配置文件如logback-uat.xml,logback-dev.xml,logback-prd.xml,根据不同的配置需求分别加载不同的配置文件

具体实现方案

1配置logback-uat.xml,logback-dev.xml,logback-prd.xml文件

2.在application-uat,application-dev,application-prd中分别指定自定义配置logging.config=logback-uat.xml,logback-dev.xml,logback-prd.xml

具体参照博客

https://blog.csdn.net/u011961421/article/details/78739805

 

参考配置

bootstrap.yml指定启动配置

spring:
  application:
    name: xxx
  profiles:
    active: uat

application.yml 通用配置,如datasource连接池大小等,通用环境变量

application-uat,application-dev,application-prd 个性配置,如datasource连接驱动配置等,个性环境变量

你可能感兴趣的:(java,logback)