欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot的日志多环境配置

程序员文章站 2022-06-13 20:14:59
...

官网文档:https://docs.spring.io/spring-boot/docs/current/reference/html/
日志文档:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

1、日志配置的命名规范
取决于你所使用的日志类型。命名规范的话,系统启动会自动读取
springboot的日志多环境配置
如果你想自定义名字,在applicationt.yml中配置

logging:
  config: classpath:log4j2-beta.yml

其中logger属于一级目录
(注意:当我把打包方式切换为war,这样的配置不能生效。这个时候系统只读取了规范命名的配置文件,如图一)

2、多环境配置
根据不同环境,调用不同的日志文件(打包方式是war包的话,这种方式失效,可能是我配置问题?)

#spring
spring:
  profiles:
    active: beta
#或是 active: @aaa@qq.com (这样是调用pom的peofiles属性)

#配置多环境
---
spring:
  profiles: dev
logging:
  config: classpath:log4j2-dev.yml
---
spring:
  profiles: beta
logging:
  config: classpath:log4j2-beta.yml
---
spring:
  profiles: release
logging:
  config: classpath:log4j2-release.yml
---

根据不同环境,在application.yml配置不同环境的日志属性,日志配置文件再调用不同环境的属性。
官方文档说了:To help with the customization, some other properties are transferred from the Spring Environment to System properties, as described in the following table
(为了帮助进行自定义,一些其他属性从Spring转移 Environment到System属性,如下表所述:)
springboot的日志多环境配置
别名图(左边是在application.yml定义的属性,右边是在日志配置文件调用时的别名)

例如:(其中“—”是yml文件的多环境配置,根据profiles选择不同的日志属性配置。注:这个时候日志文件命名要规范)
springboot的日志多环境配置

在日志配置文件调用这个变量:
例如:logging.pattern.level 对应的别名是:LOG_LEVEL_PATTERN,那么引用是 ${sys:CONSOLE_LOG_PATTERN}
springboot的日志多环境配置