Domanda

Maven emette troppe righe di output secondo i miei gusti (mi piace il modo Unix:nessuna notizia è una buona notizia).

Voglio eliminare tutte le righe [INFO], ma non sono riuscito a trovare alcuna menzione di un argomento o di impostazioni di configurazione che controllano la verbosità di Maven.

Non esiste un modo simile a LOG4J per impostare il livello di registro?

È stato utile?

Soluzione

Puoi provare il -Q interruttore.

-q,--quiet Output silenzioso: mostra solo gli errori

Altri suggerimenti

-Q come detto sopra è quello che ti serve.Un'alternativa potrebbe essere

-B, --modalità batchEsegui in modalità batch non interattiva (batch) è essenziale se è necessario eseguire Maven in un ambiente di integrazione non interattivo e continuo.Quando viene eseguito in modalità non interattiva, Maven non smetterà mai di accettare input dall'utente.Utilizzerà invece valori predefiniti ragionevoli quando richiede input.

E ridurrà anche i messaggi di output più o meno all'essenziale.

Utilizza le opzioni della riga di comando -q o --quiet

Collegamento ufficiale:https://maven.apache.org/maven-logging.html

Puoi aggiungere il JVM parametri:

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

Attenzione alle MAIUSCOLE.

Maven 3.1.x utilizza SLF4j per la registrazione, puoi trovare istruzioni su come configurarlo su https://maven.apache.org/maven-logging.html

In breve:O modificare ${MAVEN_HOME}/conf/logging/simplelogger.properties, o impostare le stesse proprietà tramite MAVEN_OPTS variabile d'ambiente.

Per esempio:collocamento MAVEN_OPTS A -Dorg.slf4j.simpleLogger.log.org.apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn configura la registrazione del listener di trasferimento in modalità batch e -Dorg.slf4j.simpleLogger.defaultLogLevel=warn imposta il livello di registro predefinito.

Se vuoi solo sbarazzarti di [INFO] messaggi che potresti anche fare:

mvn ... | fgrep -v "[INFO]"

Sopprimere Tutto output (eccetto errori) che potresti reindirizzare stdout A /dev/null con:

mvn ... 1>/dev/null

(Funziona solo se usi bash (o shell simili) per eseguire i comandi Maven.)

La risposta esistente ti aiuta a filtrare in base al livello di log utilizzando --quiet.Ho scoperto che molti messaggi INFO sono utili per il debug, tuttavia i messaggi di registro degli artefatti in download come i seguenti erano rumorosi e non utili.

Downloading: http://nexus:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml

Ho trovato questa soluzione:

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

Il mio problema è che -q è troppo silenzioso.Sto eseguendo Maven sotto CI

Con Maven 3.6.1 (aprile 2019), ora hai un file opzione per sopprimere l'avanzamento del trasferimento durante il download/caricamento in modalità interattiva.

mvn --no-transfer-progress ....

o in breve:

mvn -ntp ... ....

Quello è ciò che Ray proposto nei commenti con MNG-6605 E PR239.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top