首页 文章

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

提问于
浏览
8

通过 mvn gauge:execute -DspecsDir=specs 运行我的Gauge测试时,控制台输出被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 回答

  • 2

    您可以将这些Opts提供给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
    
  • 5

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


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

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

相关问题