logback-spring.xml (非完整xml,舉例使用)

<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!-- 控制台輸出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!--其他配置--> </appender> <!--配置日志文件(File)--> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--其他配置--> </appender> <!-- 日志級別排序為: TRACE < DEBUG < INFO < WARN < ERROR --> <root level="Info"> <!-- <appender-ref ref="STDOUT"/> --> <appender-ref ref="FILE"/> </root> </configuration>
背景:
1、手工指定logback-spring.xml路徑
-Dlogback.configurationFile=D:/fake_path/logback-spring.xml
2、root同時配置console和文件打印
<root level="Info">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
</root>
問題:
始終只有少量日志打印到了文件里,console打印正常
root中去掉console打印,依然是少量日志打印文件里,console也依然有大量日志打印
查看日志發現日志打印:
... WARN 8940 --- [ main] o.s.b.l.logback.LogbackLoggingSystem : Ignoring 'logback.configurationFile' system property. Please use 'logging.config' instead.
解決:
將-Dlogback.configurationFile替換成-Dlogging.config
說明1、logback在打印日志時,會遍歷所有的logger屬性配置,找不到配置時使用默認的root屬性配置
說明2、root去掉console配置時,依然有日志打印參考:
https://logback.qos.ch/manual/configuration.html