Java Log4back未正确记录日志

Java Log4back未正确记录日志,java,logging,logback,Java,Logging,Logback,我在一个非常大的项目(很多类)中使用了log4back。 在main类中,我配置记录器,并从xml文件获取配置: <?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender"> <discriminator> <

我在一个非常大的项目(很多类)中使用了
log4back
。 在main类中,我配置记录器,并从xml文件获取配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>    
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
       <discriminator>
        <key>filePath</key>
        <defaultValue>C:/</defaultValue>
    </discriminator>

    <sift>  
        <appender name="startupDailyRolloverAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${filePath}/application.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${filePath}/application.log.%d{yyyyMMdd}_%d{HHmmss,aux}</fileNamePattern>
                <maxHistory>5</maxHistory>                
            </rollingPolicy>
            <encoder>
                <pattern>%d{dd/MM/yyyy_HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    </sift>        
</appender>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">      
    <encoder>
        <pattern>%d{dd/MM/yyyy_HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>

<root level="info">
    <appender-ref ref="SIFT" />
</root>

<root level="info">
    <appender-ref ref="STDOUT" />
</root>-->
现在,在每个类中,我都将记录器定义为静态变量,如下所示

 private static final Logger logger = LoggerFactory.getLogger(NomeClasse.class);
这非常完美,因为我可以将许多类输出记录到我指定的文件中。 不幸的是,有些类不记录任何类型的输出,例如,使用这行代码

logger.error("Unexpected failure: " + ret.getStatus());
甚至他的

logger.error(ex.getMessage(), ex);
没有输出到我指定的文件中。在每个类中,我将记录器定义为静态变量,如上所述。 能不能给我点提示,让我知道出了什么问题

我用过,但我不能解决这个问题

logger.error(ex.getMessage(), ex);