如何根据生命周期环境使用不同的文件名模式

How to use different fileName patterns based on the lifecycle environment

如何根据活动 spring 启动配置文件

使用不同版本的 logback.xml
src/main/resources/logback.xml
src/main/resources/logback-qa.xml
src/main/resources/logback-staging.xml
src/main/resources/logback-production.xml

我的意图是根据环境和文件路径单独更改 fileNamePattern,如果使用单个文件更容易实现,我宁愿不创建额外的文件

<fileNamePattern>logs/app.%d{yyyy-MM-dd}.log</fileNamePattern>
<fileNamePattern>logs/app-qa.%d{yyyy-MM-dd}.log</fileNamePattern>
<fileNamePattern>logs/app-staging.%d{yyyy-MM-dd}.log</fileNamePattern>
<fileNamePattern>/logs/app-production.%d{yyyy-MM-dd}.log</fileNamePattern>

logback-spring.xml支持springProfile标签,Spring Boot推荐使用logback-spring.xml 而不是 logback.xml。 可以在logback-spring.xml中使用springProfile标签,如下:

<springProfile name="staging">
    <!-- configuration to be enabled when the "staging" profile is active -->
</springProfile>

<springProfile name="dev | staging">
    <!-- configuration to be enabled when the "dev" or "staging" profiles are active -->
</springProfile>

<springProfile name="!production">
    <!-- configuration to be enabled when the "production" profile is not active -->
</springProfile>