如何在单元测试环境中配置log4j?

2022-09-01 23:36:16

配置log4j以在单元测试环境中使用的最佳方法是什么?我更喜欢我的单元测试没有外部依赖项,因此读取log4j配置文件不是一个选项。理想情况下,我可以从单元测试设置函数中进行1或2个函数调用。


答案 1

你可以把一个静态代码块放在测试的顶部,这样做

BasicConfigurator.configure();

请注意,这样做的问题是,每次执行该行时,log4j都会添加一个追加器,并且您将获得重复的日志语句。因此,如果您在每个测试类中都这样做,则最终将得到每个日志语句的n个重复项。

因此,我建议创建一个作为 BaseTestCase 的类,并在那里执行此操作。

请注意,具有相关配置的某种测试资源并不是一个坏主意...


答案 2

Log4j已经是一个外部依赖项。但无论如何,你在下面得到了你的答案(hvgotcodes),所以我只是补充一点,你可以编程设置log4j。基本上,你可以通过config做的所有事情,你也可以通过代码来做:

http://robertmaldon.blogspot.com/2007/09/programmatically-configuring-log4j-and.html


推荐