Frage

Maven speien viel zu viele Zeilen der Ausgabe nach meinem Geschmack aus (Ich mag die Art und Weise Unix: keine Nachrichten sind gute Nachrichten)

.

Ich möchte von allen [INFO] Linien, um loszuwerden, aber ich konnte keine Erwähnung eines Arguments oder Konfigurationseinstellungen finden, die den Detaillierungsgrad von Maven steuert.

Gibt es keine LOG4J artig die Protokollebene zu setzen?

War es hilfreich?

Lösung

Sie können versuchen, die -q Schalter.

  

-q, - quiet Stiller Ausgang - nur Fehler anzeigen

Andere Tipps

-q wie oben gesagt ist, was Sie brauchen. Eine Alternative könnte sein

-B , - Batch-Modus Führen Sie in nicht-interaktiven (Batch-Modus) Batch-Modus ist wichtig, wenn Sie Maven in einer nicht-interaktiven, kontinuierlichen Integration-Umgebung ausgeführt werden müssen. Wenn im nicht-interaktiven Modus ausgeführt wird, Maven wird nie eine Eingabe vom Benutzer akzeptieren stoppen. Stattdessen wird es sinnvoll, Standardwerte verwenden, wenn es eine Eingabe erfordert.

Und wird auch die Ausgabe von Meldungen mehr oder weniger auf das Wesentliche reduzieren.

Mit den -q oder --quiet Befehlszeilenoptionen

Offizieller Link: https://maven.apache.org/maven-logging.html

Sie können in den JVM Parameter hinzufügen:

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

Vorsicht vor groß geschrieben.

Maven 3.1.x verwendet SLF4J für die Protokollierung, können Sie Anweisungen finden, wie es konfigurieren unter https : //maven.apache.org/maven-logging.html

Kurz gesagt:. Entweder ändern ${MAVEN_HOME}/conf/logging/simplelogger.properties, oder setzen Sie die gleichen Eigenschaften über die MAVEN_OPTS Umgebungsvariable

Zum Beispiel:. MAVEN_OPTS zu -Dorg.slf4j.simpleLogger.log.org.apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn Einstellung konfiguriert die Protokollierung der Batch-Modus Transfer Hörer und -Dorg.slf4j.simpleLogger.defaultLogLevel=warn legt die Standardprotokollebene

Wenn Sie nur der [INFO] Nachrichten loswerden auch Sie tun können:

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

Zur Unterdrückung all Ausgänge (außer Fehler) Sie stdout umleiten könnten /dev/null mit:

mvn ... 1>/dev/null

(Dies funktioniert nur, wenn Sie verwenden bash (oder Schalen) die Maven-Befehle auszuführen.)

Die bestehende Antwort Hilfe Sie auf dem Log-stufigen Filter Basis mit --quiet. Ich fand, dass viele INFO-Nachrichten für die Fehlersuche nützlich sind, aber das Herunterladen Artefakt Protokollmeldungen wie die folgenden waren laut und nicht hilfreich.

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

Ich fand diese Lösung:

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
  

Mein Problem ist, dass -q zu leise ist. Ich bin mit Maven unter CI

Mit Maven 3.6.1 (April 2019) Sie jetzt eine Option, den Übertragungsfortschritt zu unterdrücken, wenn das Herunterladen / Hochladen im interaktiven Modus .

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

oder kurz:

mvn -ntp ... ....

Das ist, was Ray vorgeschlagen in die Kommentare mit " https://issues.apache.org/jira/browse/MNG-6605" rel =“ nofollow noreferrer "> MNG-6605 und PR 239 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top