gpt4 book ai didi

java - 运行所有 Maven 测试时无法控制 log4j

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:35 24 4
gpt4 key购买 nike

src/test/resources/log4j.properties 中,我将 log4j 配置为不记录任何内容。

当我运行单个测试时,即 mvn clean test -Dtest=MyTestClass,会注意此 log4j 属性。但是,当我运行所有测试时,即 mvn clean test,此日志记录 conf 被忽略。怎么会这样?!!

我想我快疯了,但希望有一个合乎逻辑的解释 :-)

非常感谢任何帮助。

$  mvn -version
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk-8-oracle-x64/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.6.0-1-amd64", arch: "amd64", family: "unix"

肯定火的版本是2.19.1:

[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ common-util ---

src/test/resources/log4j.properties:

log4j.rootLogger=OFF

与资源相关的 POM 片段:

    <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>ISO-8859-1</encoding>
</configuration>
</plugin>

最佳答案

src/test/java 下的 52 个测试类之一在其 @Before 方法中有以下几行:

   import org.apache.log4j.BasicConfigurator;

@Before
public void setUp() {
BasicConfigurator.resetConfiguration();
BasicConfigurator.configure();
}

出于某种原因,据我所知,这一定是一个错误,这些对 log4j 的调用也会影响所有其他 junit 类。删除这些行使 mvn test 获得与运行 mvn test -Dtest=MyTestClass 相同的日志记录行为,即在 src/test/resources/log4j 中定义的内容。属性

关于java - 运行所有 Maven 测试时无法控制 log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39621529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com