1

我有一个使用 Commons Logging 进行日志记录的应用程序。它是用 Maven 构建的,并使用 TestNG 进行测试。我正在尝试在测试期间微调日志记录级别,但没有任何运气 - 无论我做什么,一切都设置为 INFO。我尝试在类路径上创建一个 logging.properties 文件,但它什么也没做。我还创建了一个 log4testng.properties 文件 - 正在读取这个文件(我知道这一点是因为在我故意向其中引入语法错误后 TestNG 显示错误)但其中的设置无效。

有什么建议么?


编辑:好吧,我还没有弄清楚根本问题(为什么 java.util.logging 忽略了我配置它的尝试),但是我能够通过在测试期间使 Log4j 可用,然后配置它来获得我想要的。我要结束这个问题,因为我现在真的不在乎。

4

2 回答 2

1

我找到了解决方法。在 src/test/resources 中创建您的自定义 logging.properties,然后在 setup 调用中,按如下方式加载它:

@BeforeClass(alwaysRun = true)
protected void setUp() throws SecurityException, IOException
{
    FileInputStream fis = new FileInputStream(BaseRestTest.class.getResource("/logging.properties").getFile());
    LogManager.getLogManager().readConfiguration(fis);
}

这似乎是在 TestNG 掠夺它之后重新配置根记录器。

于 2015-01-12T23:54:06.580 回答
-1

麦克风,

您可以在 testng.xml 中调整日志级别:

<suite verbose="3"...  (up to 10)

TestNG 不使用 Log4J 也不使用 java.util.logging。

于 2010-07-13T02:00:45.110 回答