我已经设置了logback.xml来根据活动的
Spring配置文件选择要使用的appender.当我使用app运行应用程序时,该技术非常有效
java -jar -Dspring.profiles.active =本地路径/到/ target / application.war
但是当我使用Spring Boot Maven Plugin运行时,例如,
mvn spring-boot:运行-Drun.profiles = local
这是logback.xml的相关部分
<root level="INFO">
<if condition='"${spring.profiles.active}".contains("local")'>
<then>
<appender-ref ref="CONSOLE"/>
</then>
<else>
<appender-ref ref="FILE"/>
</else>
</if>
</root>
我会注意到配置文件确实在应用程序本身中正确显示,在处理logback.xml时不可用.
从IntelliJ IDE运行时也会出现此问题.
是否有另一种方法可以使用Maven Spring Boot插件使配置文件对logback.xml解析器可见,并且它是否也适用于IntelliJ?
最佳答案 您是否尝试通过logback-spring扩展来配置logback?
在你的情况下,logback-spring.xml可能如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<include resource="org/springframework/boot/logging/logback/base.xml"/><!-- include this config if you want to use spring-boot's built-in appenders -->
<configuration>
<root level="INFO">
<springProfile name="local">
<appender-ref ref="CONSOLE"/>
</springProfile>
<springProfile name="otherprofile">
<appender-ref ref="FILE"/>
</springProfile>
</root>
</configuration>
有关logback-spring扩展中可用选项的更多信息: