it-swarm.it

Maven può essere reso meno dettagliato?

Maven spiega a mio avviso troppe righe di output (mi piace il modo Unix: nessuna notizia è una buona notizia).

Voglio sbarazzarmi di tutte le linee [INFO], ma non sono riuscito a trovare alcun riferimento a un argomento oa impostazioni di configurazione che controllano la verbosità di Maven.

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

82
Asaf Bartov

Puoi provare l'opzione -q .

-q, - quiet Quiet output: mostra solo gli errori

103
Jorge Ferreira

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

-B , --batch-mode Esegui in modalità non interattiva (batch) La modalità batch è essenziale se devi eseguire Maven in modo non interattivo, ambiente di integrazione continua. Quando si esegue in modalità non interattiva, Maven non smetterà mai di accettare input dall'utente. Invece, utilizzerà valori predefiniti sensibili quando richiede input .

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

20
Stanislav

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

6
Sietse

Link ufficiale: https://maven.Apache.org/maven-logging.html

Puoi aggiungere i parametri JVM:

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

Attenti alla MAIUSCOLA.

5
jgrtalk

La risposta esistente consente di 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 delle risorse di download come quelli 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
0
errant.info

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

In breve: modifica ${MAVEN_HOME}/conf/logging/simplelogger.properties o imposta le stesse proprietà tramite la variabile d'ambiente MAVEN_OPTS.

Ad esempio: l'impostazione di MAVEN_OPTS su -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.

0
ankon

Se vuoi solo sbarazzarti dei messaggi [INFO] puoi anche fare:

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

Per sopprimere all outputs (tranne gli errori) puoi reindirizzare stdout a /dev/null con:

mvn ... 1>/dev/null

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

0
m13r

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

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

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

o in breve:

mvn -ntp ... ....

Questo è ciò che Ray proposto nei commenti con MNG-6605 e PR 239 .

0
VonC