这是我的示例 logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_FILE" value="some file path here"/>
<property name="LOG_FILE_MAX_SIZE" value="50MB" />
<property name="LOG_FILE_MAX_HISTORY" value="30" />
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<springProfile name="!test & !prod">
<logger name="com.myapp" level="DEBUG" />
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
<springProfile name="test">
<logger name="com.myapp" level="DEBUG" />
<root level="WARN">
<appender-ref ref="FILE" />
</root>
</springProfile>
<springProfile name="prod">
<logger name="com.myapp" level="INFO" />
<root level="WARN">
<appender-ref ref="FILE"/>
</root>
</springProfile>
我的意图是将内容仅记录到 FILE 以用于测试和生产配置文件,但是对于任何其他配置文件(即本地主机),我希望我的日志仅在 CONSOLE 中获取。
使用上述设置,如果我使用 localhost 配置文件启动我的 spring boot 应用程序(版本 2.1.1.RELEASE),它只会按预期登录到 CONSOLE,但是如果我使用 test 或 prod 配置文件,它会将 CONSOLE 中的内容都记录为以及文件。
您在 logback xml 中看到任何问题吗?