这是一个愚蠢的简单示例,但由于某种原因它不起作用。我一定遗漏了一些明显的东西。
我正在尝试制作一个非常简单的 log4j 2.0 示例程序。我已将这两个 jar 添加到类路径中:
log4j-api-2.0-beta8.jar
log4j-core-2.0-beta8.jar
并使用默认配置完成了最简单的示例:
package testlog;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class TestLog {
static Logger logger = LogManager.getLogger(TestLog.class.getName());
public static void main(String[] args) {
logger.trace("Hello World");
System.out.println("Test over");
}
}
但是由于某种原因,我得到的只是“测试结束”,无论如何我都找不到Hello World。我找错地方了吗?我的理解是,使用默认配置,它应该打印到控制台,并带有“测试结束”。我已将日志级别更改为信息,仍然相同。我已经尝试将 Logger 功能提取到一个类中,仍然相同。我在 log4j 文档页面上关注本教程:
http://logging.apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration
我不明白什么可能是错的。谁能阐明我做错了什么?提前致谢。
更新记录器确实可以使用 logger.error()。这意味着默认过滤器/级别有问题吗?