2013-08-20 34 views
2

这是一个愚蠢简单的例子,但由于某种原因,它不起作用。我必须失去一些明显的东西。令人难以置信的简单Log4j 2.0示例不工作

我想做一个非常简单的log4j 2.0示例程序。我已经加入这两个罐子到classpath:

的log4j的API-2.0-beta8.jar

log4j的核心-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()一起工作。这意味着它是默认过滤器/级别否的问题?

回答

10

你错过了文档中该行:

注意,默认的Log4j分配根记录到Level.ERROR。

做一个

logger.error("Hello World"); 

,它会显示出来。

如果要显示信息和/或跟踪级别,则必须配置您的记录器。

+1

太棒了!非常感谢。我的问题的解决方案是停止成为一个不耐烦的白痴,并向下滚动。我会去埋头埋头,直到大家都停止笑。再次感谢+1并接受。 – MasNotsram

相关问题