使用log4J-2.0-beta时的NPE

时间:2012-11-14 20:42:02

标签: java log4j log4j2

我正在通过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添加到我的构建路径。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

根本就不要!使用Logback代替Log4J!

答案 1 :(得分:0)

对于任何偶尔发现这种情况的人:

JAR log4j-core-2.0-beta2-sources是导致错误的原因。如果从构建路径中删除此JAR,则可以正确构建。

我在位于https://issues.apache.org/jira/browse/LOG4J2-118的ASF跟踪器上打开了关于此问题的JIRA票证。