提问者:小点点

如何通过 Maven 插件运行仪表测试时设置日志级别


当通过mvn规范运行我的Gauge测试时:执行-DSpecsDir=spes控制台输出被DEBUG输出污染。

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插件运行它们时)?


共2个答案

匿名用户

您可以给JVM这些选项

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

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

匿名用户

这似乎与 MNG-6181 有关,MNG-6181 已在 Maven 的 3.5.0 版中修复。因此,如果您目前还没有最新版本,则可以升级Maven版本以使用该修复程序。

如果您想使用现有版本(3.1或更高版本)来操作所有Maven构建的日志选项,您可以尝试在以下文件中修改它的日志实现:

${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