2017-10-05 71 views
7

运行计测试时,当通过mvn gauge:execute -DspecsDir=specs运行我的测试仪表控制台输出被污染与调试输出设置日志级别。如何通过Maven插件

16:33:46.950 [main] DEBUG org.reflections.Reflections - could not scan file META-INF/MANIFEST.MF ... 
16:33:46.951 [main] DEBUG org.reflections.Reflections - could not scan file META-INF/MANIFEST.MF ... 
16:33:46.951 [main] DEBUG org.reflections.Reflections - could not scan file META-INF/maven/net.minidev/json-smart/pom.properties ... 
... 
16:35:52.676 [Thread-1] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing request PUT ... 
16:35:52.676 [Thread-1] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED 
16:35:52.676 [Thread-1] DEBUG org.apache.http.headers - http-outgoing-0 >> PUT ... 

如何设置这些测试的日志级别(通过Maven插件运行时)?

回答

5

你可以给你的JVM这些OPTS

MVN计:执行-DspecsDir =规格 -Dorg.slf4j.simpleLogger.defaultLogLevel = 警告

mvn gauge:execute -DspecsDir=specs -Dorg.slf4j.simpleLogger.defaultLogLevel=warn 

或者 使用安静模式

mvn gauge:execute -q -DspecsDir=specs 

mvn gauge:execute -Dflags="--verbose=false,--log-level=warn" -DspecsDir=specs 
+0

上述两个thrre命令都不适用于我。我仍然看到'DEBUG'输出。 –

+0

尝试的最后一个选项(现已更新)应该工作,唐诺你如何通过改变maveen简单的记录器属性调用Maven的目标, –

3

这似乎涉及到MNG-6181已固定的Maven的3.5.0版本。所以,如果你不是最新版本截至目前,你可以升级Maven的版本,以充分利用修复的。


如果你想操作的所有Maven的记录选项建立与现有版本(3.1或以上),你可以尝试在文件修改其记录实现:

${MAVEN_HOME}/conf/logging/simplelogger.properties 

例如MacOSX上,这将是有点喜欢 -

vi /usr/local/Cellar/maven/3.5.0/libexec/conf/logging/simplelogger.properties 

,然后确保该属性包括像这些: -

org.slf4j.simpleLogger.log.org.apache.maven.wagon.providers.http.httpclient=off 
org.slf4j.simpleLogger.log.org.apache.maven.wagon.providers.http.httpclient.wire=off 

或者,你可以用quiet执行你的命令mvn选项仅过滤错误日志。更新的命令将使用: -

mvn gauge:execute -DspecsDir=specs -q 
+0

,它将禁用日志记录全球范围内(对于所有Maven项目任何一个特定的), –

+1

@RamiReddyPalamakula确实如此,在答案中也是如此。 ... *你所有的Maven构建* – nullpointer

相关问题