2016-01-31 38 views
2

我想在Maven Invoker測試期間調低日誌記錄。現在,日誌在每個測試中分別受到DownloadingDownloaded的污染。在Maven Invoker測試中禁用'下載'日誌

[INFO] [INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-grouper/2.19/surefire-grouper-2.19.jar 
[INFO] [INFO] Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-grouper/2.19/surefire-grouper-2.19.jar (38 KB at 1292.5 KB/sec) 

我想保留所有其他日誌,所以mvn -q不是一個選項。另外,--batch-mode只隱藏下載進度,而不是DownloadingDownloaded日誌。

+0

你檢查了幾個答案http://stackoverflow.com/questions/4782089/how-to-change-maven-logging-level-to-display-only-warning-and-errors的一些提示?對你的問題的簡短回答是:這是不可能的。在Maven之上使用腳本將是可能的(即,如果你的問題主要是關於CI構建的話) –

+0

你只會得到那些日誌一次。在你的Maven倉庫中安裝這些依賴關係之後,你就不會再擁有它們了。 – Tunaki

回答

5

添加

-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn 

MAVEN_OPTS應幫助。至少在maven 3.2.3和3.3.9(這些是我測試過的)。

+1

對,它有幫助!但是,只有在'invoker.properties'中的'invoker.goals'之前聲明'invoker.mavenOpts'時纔可以。對我來說非常奇怪的行爲。 –

0

如果你的版本是上的Unix做過這樣的環境,你可以改變Maven是如何被調用,您可以管Maven的輸出到egrep

mvn <goals> | egrep -v ' Download(ing|ed): '