如何使用SpringBoot在log4j2.xml中过滤maven配置文件的值

时间:2018-03-20 20:05:39

标签: maven spring-boot

我需要通过maven在我的log4j2.xml中添加一个环境变量,但是在spring boot项目中。我有一定的困难,但我做到了。 =)

之前的代码如何。

log4j2.xml

Quote

的pom.xml

<PatternLayout>
     <Pattern>${ambiente} - %d [%-6p] %c - %M - %m%n</Pattern>
</PatternLayout>

运行命令:<profiles> <profile> <id>dev</id> <activation> <property> <name>env</name> <value>dev</value> </property> </activation> <properties> <ambiente>desenvolvimento</ambiente> </properties> </profile> <profile> <id>hom</id> <activation> <property> <name>env</name> <value>hom</value> </property> </activation> <properties> <ambiente>homologacao</ambiente> </properties> </profile> <profile> <id>prod</id> <activation> <property> <name>env</name> <value>prod</value> </property> </activation> <properties> <ambiente>producao</ambiente> </properties> </profile> </profiles> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>

不起作用=(

clean install -Denv=dev

1 个答案:

答案 0 :(得分:1)

在尝试了各种选项后,我做到了。

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

然后,将$ {ambiente}更改为@ambiente @

<PatternLayout>
    <Pattern>@ambiente@ - %d [%-6p] %c - %M - %m%n</Pattern>
</PatternLayout>

使用相同的命令clean install -Denv=dev

再次运行

现在我的log4j2.xml看起来很棒=)。

<PatternLayout>
    <Pattern>desenvolvimento - %d [%-6p] %c - %M - %m%n</Pattern>
</PatternLayout>

我的日志文件

desenvolvimento - 2018-03-20 17:08:37,678 [ERROR ]

希望有所帮助!