看看我写的最后一个JUnit测试用例,我在类构造函数中调用了log4j的BasicConfigurator.configure()方法。这对于从Eclipse的“作为JUnit测试用例运行”命令运行这个单独的类来说工作得很好。但是我意识到这是不正确的:我非常确定我们的主测试套件从一个进程运行所有这些类,因此log4j配置应该在某处更高。在哪里可以在JUnit测试类中配置log4j?
但我仍然需要自己运行一个测试用例,在这种情况下,我希望配置log4j。我应该在哪里放置配置调用,以便在测试用例独立运行时运行,而不是在测试用例作为更大套件的一部分运行时运行?
它怎么会知道这是一个“log4j配置文件?”什么是文件名? (log4j.xml?) – Chad 2013-08-24 02:37:44
@Chad:我编辑了我的答案来解决你的问题。请参阅静态块的链接,以确切了解它如何实现。 – 2013-08-29 04:15:54
我正在使用log4j2,我必须使用以下设置来指示文件:'-Dlog4j.configurationFile = log4j2.xml'。另外,如果您尝试调试加载/启动,则此设置很有用:'-Dlog4j2.debug = true'。 – Kent 2017-11-02 00:40:14