[JAVA][logback][问题] logback不打印日志到文件


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

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        
    appender>

    
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
           
    appender>
    

    
    <root level="Info">
        
        <appender-ref ref="FILE"/>
    root>
configuration>

背景:

1、手工指定logback-spring.xml路径

-Dlogback.configurationFile=D:/fake_path/logback-spring.xml

2、root同时配置console和文件打印




问题:

  始终只有少量日志打印到了文件里,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