Maven根据我的口味喷出了太多的输出线(我喜欢Unix方式:没有新闻是好消息)。
我想摆脱所有[INFO]行,但我找不到任何控制Maven详细程度的参数或配置设置。
是否没有类似LOG4J的方法来设置日志级别?
答案 0 :(得分:109)
您可以尝试-q开关。
-q, - 安静静音输出 - 仅显示错误
答案 1 :(得分:23)
-q 如上所述是您所需要的。另一种选择可能是
-B , - 批处理模式 以非交互(批处理)模式运行 如果需要在非交互式,持续集成环境中运行Maven,则批处理模式至关重要。在非交互模式下运行时,Maven将永远不会停止接受来自用户的输入。相反,它会在需要输入时使用合理的默认值。
并且还会将输出消息或多或少地减少到必需品。
答案 2 :(得分:6)
使用-q或--quiet命令行选项
答案 3 :(得分:6)
官方链接: https://maven.apache.org/maven-logging.html
您可以添加 JVM 参数:
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN
小心大写。
答案 4 :(得分:0)
Maven 3.1.x使用SLF4j进行日志记录,您可以在https://maven.apache.org/maven-logging.html找到有关如何配置它的说明
简而言之:修改${MAVEN_HOME}/conf/logging/simplelogger.properties
,或通过MAVEN_OPTS
环境变量设置相同的属性。
例如:将MAVEN_OPTS
设置为-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
配置批处理模式传输侦听器的日志记录,-Dorg.slf4j.simpleLogger.defaultLogLevel=warn
设置默认日志级别。
答案 5 :(得分:0)
现有答案可帮助您使用--quiet
根据日志级别进行过滤。我发现许多INFO消息对于调试很有用,但是诸如以下内容的下载工件日志消息比较吵杂,没有帮助。
Downloading: http://nexus:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml
我找到了这个解决方案:
https://blogs.itemis.com/en/in-a-nutshell-removing-artifact-messages-from-maven-log-output
mvn clean install -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
答案 6 :(得分:0)
我的问题是-q太安静了。我在CI下运行Maven
有了Maven 3.6.1 (April 2019),您现在有了选项,可以以交互方式下载/上传时抑制传输进度。
mvn --no-transfer-progress ....
或简而言之:
mvn -ntp ... ....
这就是Ray和in the comments和MNG-6605提出的PR 239。