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