根据logback-spring.xml中的springProfiles [dev,stg,prod],如何激活在命令行中传递的相应spring概要文件

时间:2018-11-06 17:04:01

标签: java spring spring-mvc spring-boot

在我的应用程序属性中,我设置了spring.profiles.active = dev,但是当我通过gradle clean -Dspring.profiles.active = stg build从命令行传递时,默认情况下它仅采用dev配置文件。如何覆盖application.properteis中设置的默认值。

1 个答案:

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