2016-12-01 272 views
0

目前我使用maven这样使用Spring @profile加载log4j2 xml配置,而不是行家<profile>

<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> 

enter image description here

加载我log4j2配置但这需要我建立每个新战争环境,我想避免。有没有办法让我使用Spring @Profile注释来加载log4j2配置?

回答

2

我还没有尝试过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中的上述配置文件/主/资源目录被激活。

注意:如果使用YAML更方便,因为它们可以放置在单个配置文件中,使用---分隔文档。

相关问题