0

我有一个 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 的配置文件,并且我已经使用相同的方法来创建文件夹,但我没有成功

4

1 回答 1

0

not
java -jar cust.jar -Dspring.profiles.active=local

Do this
java -jar -Dspring.profiles.active=local cust.jar

order is important

于 2021-08-11T11:31:02.897 回答