为Deltaspike Test-Control配置日志记录

时间:2016-04-24 09:21:49

标签: junit cdi java.util.logging deltaspike

我使用以下依赖项进行基于CDI的测试:

<dependency>
    <groupId>org.apache.deltaspike.modules</groupId>
    <artifactId>deltaspike-test-control-module-api</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.deltaspike.modules</groupId>
    <artifactId>deltaspike-test-control-module-impl</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.deltaspike.cdictrl</groupId>
    <artifactId>deltaspike-cdictrl-weld</artifactId>
    <version>1.6.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.jboss.weld.se</groupId>
    <artifactId>weld-se-core</artifactId>
    <version>2.2.13.Final</version>
    <scope>test</scope>
</dependency>

这些是我的logging.properties:

.handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$-6s %2$s %5$s%6$s%n

.level=INFO
java.util.logging.ConsoleHandler.level=INFO

运行测试时,我有以下日志消息:

2016-04-24 11:10:32 INFORMATION org.apache.deltaspike.core.util.ProjectStageProducer initProjectStage Computed the following DeltaSpike ProjectStage: Production
2016-04-24 11:10:33 INFORMATION org.apache.deltaspike.core.api.config.PropertyLoader loadAllProperties could not find any property files with name META-INF/apache-deltaspike_test-container
2016-04-24 11:10:34 INFORMATION org.apache.deltaspike.testcontrol.api.junit.CdiTestSuiteRunner$LogRunListener testStarted [run] com.foo.Bar#someMethod
2016-04-24 11:10:34 INFORMATION org.apache.deltaspike.testcontrol.api.junit.CdiTestSuiteRunner$LogRunListener testFinished [finished] com.foo.Bar#someMethod

我不需要这些消息,所以我将以下配置添加到logging.properties:

org.apache.deltaspike.level=WARNING

现在前两行已经消失了。如何摆脱CdiTestSuiteRunner$LogRunListener消息?

注意:我可以通过以下配置删除这些消息:

java.util.logging.ConsoleHandler.level=WARNING

但这显然不是我想要的。

1 个答案:

答案 0 :(得分:2)

我认为这是deltaspike的一个错误。根据{{​​3}},我们将覆盖日志级别。

我创建了https://github.com/apache/deltaspike/blob/master/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestSuiteRunner.java#L155来修复。