我有一个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的配置文件,并且我已经用它来创建文件夹,但是我没有成功
答案 0 :(得分:0)
不是
java -jar cust.jar -Dspring.profiles.active=local
这样做
java -jar -Dspring.profiles.active=local cust.jar
顺序很重要