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);