我正在通过overview documentation查看log4j2,并且在尝试设置log4j2记录器时遇到以下异常:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:129)
at HelloWorld.<clinit>(HelloWorld.java:5)
我的测试程序来自概述网站:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class HelloWorld {
private static Logger logger = LogManager.getLogger("HelloWorld");
public static void main(String[] args) {
logger.info("Hello, World!");
}
}
我将所有提供的jar文件从binary distribution添加到我的构建路径。
我错过了什么?
答案 0 :(得分:2)
根本就不要!使用Logback代替Log4J!
答案 1 :(得分:0)
对于任何偶尔发现这种情况的人:
JAR log4j-core-2.0-beta2-sources
是导致错误的原因。如果从构建路径中删除此JAR,则可以正确构建。
我在位于https://issues.apache.org/jira/browse/LOG4J2-118的ASF跟踪器上打开了关于此问题的JIRA票证。