抱歉,如果没有足够的信息,这是不熟悉的,请告诉我是否需要更多。
我在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/