Log4j2 - 找到Config,但无法正常工作

时间:2017-04-13 19:23:17

标签: java logging log4j2

Log4j正在查找我的配置,因为一旦我删除它,我会收到一条错误消息,说它无法找到,但是它的属性在记录时不会反映出来。

log4j2.properties:

public class Test {

    private static Logger logger = LogManager.getLogger(Test.class);

    public static void main(String[] args) throws Exception {
        logger.info("test");
        logger.fatal(logger.getLevel());
    }

}

Test.java:

20:19:31.848 [main] FATAL io.rj93.sarcasm.examples.CnnSentenceClassificationExample - ERROR

输出:

status="TRACE"

如您所见,记录器在将级别设置为INFO时将级别返回为ERROR,并且时间格式包括毫秒,即使它已被删除。

配置文件来自log4j网站,只有很小的改动(提到的两个,AddFieldAsXml()

我使用的是版本2.8.1。

1 个答案:

答案 0 :(得分:2)

您使用其中包含XML配置的log4j2.properties文件 这不一致。
log4J初始化无法识别用作属性格式的格式。因此它使用默认的log4J配置,为根记录器指定ERROR级别。

只需将log4j2.properties重命名为log4j2.xml,就可以了。