【发布时间】:2014-09-07 16:43:00
【问题描述】:
这很奇怪,但只有 FATAL & ERROR 级别对我有用,即使我指定了 TRACE 级别。
LoggingTest.class:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
public class SLF4JTest {
private static Log _LOG = LogFactory.getLog(SLF4JTest.class);
@Test
public void test() {
_LOG.fatal("Fatal works!"); //works
_LOG.error("Error works!"); //works
_LOG.warn("Warn works!"); //doesn't work
_LOG.info("Info works!"); //doesn't work
_LOG.debug("Debug works"); //doesn't work
_LOG.trace("Trace works"); //doesn't work
}
}
log4j.properties:
log4j.rootLogger=TRACE, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS}
【问题讨论】:
-
这可能是因为你的类路径中有 slf4j-simple。您确定应用了转换模式吗?如果不是,那是因为 slf4j-simple。
-
看起来您使用的是公共日志记录而不是 slf4j。它可能使用一些默认级别进行公共日志记录,并且不尊重您的 slf4j 配置(因为它不应该......因为它们是不同的日志记录框架)
-
@ErikPragt 也许,不知道如何检查。那你能告诉我如何检查以及如何解决吗?
-
@coffeeaddict 不知道如何检查。那你能告诉我如何检查以及如何解决吗?
-
能否提供您项目中存在的任何日志记录依赖项的版本?