这很奇怪,但只有致命& 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}
答案 0 :(得分:3)
您的项目可能存在一些错误。
首先,如果您想在代码中使用SLF4J,则必须更改实例的类型:
// Instance of SLF4J
private static final org.slf4j.Logger _LOG =
org.slf4j.LoggerFactory.getLogger(SLF4JTest.class);
其次,您必须将文件slf4j.properties
重命名为log4j.properties
。
第三,您需要添加以下库:
但是,如果你真的想使用Commons Logging,还要再添加一个(替换commons-logging-1.1.3.jar):
答案 1 :(得分:0)
如果您想使用通用日志记录库,那么您应该拥有唯一依赖关系来登录下面显示的pom.xml:
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
还要注意 log4.properties 文件的位置。对于测试,它应位于 src / test / resources 文件夹中。对于应用程序执行,它应存储在 src / main / resources 文件夹中。