【发布时间】:2019-02-06 23:00:44
【问题描述】:
这是我的示例 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 和 FILE 中。
您在 logback xml 中发现任何问题吗?
【问题讨论】:
标签: spring-boot spring-logback