在我的应用程序属性中,我设置了spring.profiles.active = dev,但是当我通过gradle clean -Dspring.profiles.active = stg build从命令行传递时,默认情况下它仅采用dev配置文件。如何覆盖application.properteis中设置的默认值。
答案 0 :(得分:1)
您可以使用配置文件使用以下配置。可以使用命令行参数-Dspring.profiles.active =“ abc”来设置活动配置文件。对于多个配置文件,您可以使用逗号分隔的配置文件名称。
<?xml version="1.0" encoding="UTF-8"?>
<appender name="rootappender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<springProfile name="abc">
<file>${LOG_ROOT}/abc.log</file>
</springProfile>
<springProfile name="xyz">
<file>${LOG_ROOT}/xyz.log</file>
</springProfile>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover. Make sure the path matches the one in the file element
or else the rollover logs are placed in the working directory. -->
<fileNamePattern>${LOG_ROOT}/system_%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>