无法在logback-spring.xml

时间:2019-07-04 09:36:13

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

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

1 个答案:

答案 0 :(得分:0)

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

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

顺序很重要