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
le.li