【问题标题】:Spring Active Profile not being picked in logback-spring.xml在 logback-spring.xml 中没有选择 Spring Active Profile
【发布时间】:2019-11-15 00:29:15
【问题描述】:

我有一个 logback-spring.xml 如下:

<configuration>

<springProperty scope="context" name="ACTIVE_PROFILE" source="spring.profiles.active"/>

<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <Target>System.out</Target>
</appender>

<appender name="cust" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>${ACTIVE_PROFILE}\logs\data_%d.%i.log</fileNamePattern>

    </rollingPolicy>
</appender>
<appender name="custAppender" class="ch.qos.logback.classic.AsyncAppender">
    <appender-ref ref="cust"/>
</appender>

<!-- LOG everything at INFO level -->
<root level="info">
    <appender-ref ref="custAppender"/>
    <appender-ref ref="console"/>
</root>

<logger name="com.ic" level="trace" additivity="false">
    <appender-ref ref="custAppender"/>
    <appender-ref ref="console"/>
</logger>

这是一个 Spring Boot 独立应用程序。 当像java -jar cust.jar -Dspring.profiles.active=local一样运行它时。

即使我在日志中看到在应用程序中设置了本地配置文件,但并未在 local/logs 文件夹下创建日志。 相反,正在创建新文件夹 ACTIVE_PROFILE_IS_UNDEFINED,其中生成了日志文件夹。

我希望<springProperty scope="context" name="ACTIVE_PROFILE" source="spring.profiles.active"/> 将存储传递到 ACTIVE_PROFILE 的配置文件,我使用相同的文件创建文件夹,但我没有成功

【问题讨论】:

  • 你用的是什么版本的spring boot?
  • Spring boot 版本为2.1.6.Release

标签: spring-boot logback spring-profiles spring-logback


【解决方案1】:

不是
java -jar cust.jar -Dspring.profiles.active=local

这样做
java -jar -Dspring.profiles.active=local cust.jar

顺序很重要

【讨论】:

    猜你喜欢
    • 2019-01-19
    • 2018-11-07
    • 2017-05-08
    • 2019-05-31
    • 2019-03-15
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    相关资源
    最近更新 更多