java - Gradle测试log4j.xml

标签 java gradle log4j2

抱歉,如果没有足够的信息,这是不熟悉的,请告诉我是否需要更多。
我在gradle.properties文件中定义的配置文件夹中有一个log4j2.xml。

project.ext.logConfigFile="./config/log4j2.xml"

我项目的结构

项目
src
测试
LIB
配置
log4j2.xml

现在,当我运行gradle test时,它说找不到log4j2配置。

这是我的build.gradle文件的样子。
sourceSets {
    test {
        java {
            srcDirs = ["test"]
        }
    }
    main {
        java {
            srcDirs = ["src"]
        }
    }
}


test {
    testLogging {
        outputs.upToDateWhen {false}
        showStandardStreams = true
        events "PASSED", "STARTED", "FAILED", "SKIPPED"
        afterSuite { desc, result ->
            if (!desc.parent) { // will match the outermost suite
                println "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} successes, ${result.failedTestCount} failures, ${result.skippedTestCount} skipped)"
      }
    }
  }
}

闲逛着我在互联网上发现的东西,这就是为什么“testLogging”部分中所有这些语句的原因。但基本上,我没有出现LOGGER.info()语句,因为它仅默认为错误。
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

我可以告诉gradle test log4j2.xml到底要去哪里吗?像这样吗虽然我认为这行不通...
tasks.withType(Test) { 
     systemProperty 'log4j.configuration', logConfigFile
}

现在有点卡住了。谢谢!

最佳答案

只需将其放在src/test/resources中即可。在测试期间,这首先出现在类路径上。然后将log4j配置为从类路径而不是文件路径加载;我认为这仍然是默认行为

关于java - Gradle测试log4j.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48159773/

相关文章:

java - 自定义 Ant 构建和 JavaFX

java - 数组赋值会产生 NullPointerException

ubuntu - "Starting a new Gradle Daemon for this build (subsequent builds will be faster)"...每次

java - 在log4j2中创建Logger包装类时出错

java - 将动态值传递给 log4j2 xml 配置

java - 检索 char : Java 的 Unicode 值

java - Wicket:相对于绝对 URL 或获取基本 URL

gradle - Gradle:在Plugin-Jar中添加资源

java - 如果afterClass方法失败,Gradle测试报告将显示测试失败

java - Wildfly 9 中的 log4j2