目前我正在使用maven加载我的log4j2配置
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<resources>
<resource>
<directory>src/main/resources/env-dev</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<id>test</id>
<build>
<resources>
<resource>
<directory>src/main/resources/env-test</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<id>prd</id>
<build>
<resources>
<resource>
<directory>src/main/resources/env-prd</directory>
</resource>
</resources>
</build>
</profile>
</profiles>
但这需要我为每个环境建立新的战争,我想避免。有没有办法让我使用Spring @Profile注释来加载log4j2配置?
答案 0 :(得分:3)
我没有尝试使用log4j2,但我相信您可以使用属性logging.config
提供配置文件位置。
举个例子: -
在application-dev.properties
文件中放置以下内容。可以使用-Dspring.profiles.active = dev
logging.config=/env-test/log4j2.xml
在application-prd.properties
文件中放置以下内容。可以使用-Dspring.profiles.active = prd
logging.config=/env-prd/log4j2.xml
请同时使用src / main / resources目录中的上述配置文件。
注意:如果使用YAML,它更方便,因为它们可以放在一个配置文件中,使用---
分隔文档。