Maven spuckt viel zu viele Ausgabezeilen nach meinem Geschmack aus (ich mag die Unix-Methode: Keine Nachrichten sind gute Nachrichten).
Ich möchte alle [INFO] -Zeilen entfernen, konnte jedoch keine Erwähnung eines Arguments oder einer Konfigurationseinstellung finden, die die Ausführlichkeit von Maven steuert.
Gibt es keine LOG4J-ähnliche Möglichkeit, die Protokollstufe festzulegen?
mvn --no-transfer-progress ...
(odermvn -ntp
für Shorts) sollte eine adäquate Lösung sein. Siehe meine Antwort unten .Antworten:
Sie können den Schalter -q ausprobieren .
quelle
-q
das zu leise ist. Ich führe maven unter CI aus und möchte sehen, welche Schritte erforderlich sind (um den Fortschritt zu verfolgen), aber die Download-Anzeigen beeinträchtigen die Nicht-ANSI-Anzeige. Gibt es eine Möglichkeit, nur die Download-Fortschrittsanzeigen auszuschalten?-B
, aktivieren Sie den Batch-Modus (das sollten Sie sowieso in Ihrem CI-System haben!) Und stellen Sie dannMAVEN_OPTS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
die Fortschrittsinformationen für die Downloads ein.--batch-mode
(-B
) aktivieren, damit der-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
Trick funktioniert.-q wie oben gesagt ist was du brauchst. Eine Alternative könnte sein
-B , --Batch-Modus Im nicht interaktiven (Batch-) Modus ausführen Der Batch-Modus ist wichtig, wenn Sie Maven in einer nicht interaktiven, kontinuierlichen Integrationsumgebung ausführen müssen. Im nicht interaktiven Modus hört Maven nie auf, Eingaben des Benutzers zu akzeptieren. Stattdessen werden sinnvolle Standardwerte verwendet, wenn Eingaben erforderlich sind.
Und reduziert auch die Ausgabenachrichten mehr oder weniger auf das Wesentliche.
quelle
Mit Maven 3.6.1 (April 2019) haben Sie jetzt die Möglichkeit, den Übertragungsfortschritt beim Herunterladen / Hochladen im interaktiven Modus zu unterdrücken .
Das schlug Ray in den Kommentaren zu MNG-6605 und PR 239 vor .
quelle
deploy
Aufgabe normalerweise nicht erwünscht istOffizieller Link: https://maven.apache.org/maven-logging.html
Sie können die JVM- Parameter hinzufügen :
Vorsicht vor Großbuchstaben.
quelle
Verwenden Sie die Befehlszeilenoptionen -q oder --quiet
quelle
Wenn Sie nur die
[INFO]
Nachrichten loswerden möchten, können Sie auch Folgendes tun:Zur Unterdrückung alle Ausgänge (außer Fehler) Sie umleiten könnte
stdout
zu/dev/null
mit:(Dies funktioniert nur, wenn Sie
bash
(oder ähnliche Shells) zum Ausführen der Maven-Befehle verwenden.)quelle
Maven 3.1.x verwendet SLF4j für die Protokollierung. Anweisungen zur Konfiguration finden Sie unter https://maven.apache.org/maven-logging.html
Kurz gesagt: Ändern
${MAVEN_HOME}/conf/logging/simplelogger.properties
oder setzen Sie dieselben Eigenschaften über dieMAVEN_OPTS
Umgebungsvariable.Beispiel: Einstellung
MAVEN_OPTS
zum-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
Konfigurieren der Protokollierung des Übertragungslisteners für den Stapelmodus und Festlegen-Dorg.slf4j.simpleLogger.defaultLogLevel=warn
der Standardprotokollstufe.quelle
Die vorhandene Antwort hilft Ihnen beim Filtern basierend auf der Protokollebene mit
--quiet
. Ich fand, dass viele INFO-Nachrichten zum Debuggen nützlich sind, jedoch waren das Herunterladen von Artefaktprotokollnachrichten wie die folgenden verrauscht und nicht hilfreich.Ich habe diese Lösung gefunden:
https://blogs.itemis.com/de/in-a-nutshell-removing-artifact-messages-from-maven-log-output
quelle