it-swarm-eu.dev

Může být Maven méně podrobný?

Maven chrlí příliš mnoho řádků výstupu k mému vkusu (líbí se mi způsob Unixu: žádné novinky nejsou dobré zprávy).

Chci se zbavit všech [INFO] linek, ale nemohl jsem najít žádnou zmínku o argumentu nebo nastavení konfigurace, která ovládá výřečnost Maven.

Není tam žádný LOG4J-jako způsob, jak nastavit úroveň logu?

82
Asaf Bartov

Můžete vyzkoušet přepínač -q .

-q, - tichý Tichý výstup - zobrazují se pouze chyby

103
Jorge Ferreira

-q jak je uvedeno výše, je to, co potřebujete. Alternativou by mohlo být 

-B , -batch-mode Běh v neinteraktivním (dávkovém) režimu Dávkový režim je nezbytný, pokud potřebujete spustit Maven v prostředí neinteraktivní, kontinuální integrace. Když je Maven spuštěn v neinteraktivním režimu, nikdy nepřestane přijímat vstup od uživatele. Namísto toho bude používat rozumné výchozí hodnoty, když to vyžaduje vstup.

A také sníží výstupní zprávy víceméně k základům.

20
Stanislav

Použijte volby příkazového řádku -q nebo --quiet

6
Sietse

Oficiální odkaz: https://maven.Apache.org/maven-logging.html

Můžete přidat v parametrech JVM:

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

Dejte si pozor na UPPERCASE.

5
jgrtalk

Existující odpověď vám pomůže filtrovat na úrovni protokolu pomocí --quiet. Zjistil jsem, že mnoho zpráv INFO je užitečných pro ladění, nicméně zprávy o stahování artefaktů, jako jsou následující, byly hlučné a nepomohly.

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

Našel jsem toto řešení:

https://blogs.itemis.com/cs/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 používá pro přihlášení protokolování SLF4j, kde najdete instrukce, jak jej konfigurovat na https://maven.Apache.org/maven-logging.html

Stručně: Buď upravte ${MAVEN_HOME}/conf/logging/simplelogger.properties, nebo nastavte stejné vlastnosti prostřednictvím proměnné prostředí MAVEN_OPTS.

Například: nastavení MAVEN_OPTS na -Dorg.slf4j.simpleLogger.log.org.Apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn konfiguruje protokolování posluchače přenosu dávkového režimu a -Dorg.slf4j.simpleLogger.defaultLogLevel=warn nastaví výchozí úroveň protokolu.

0
ankon

Pokud se chcete zbavit pouze [INFO] zpráv, můžete také:

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

Pro potlačení všech výstupů (kromě chyb) můžete přesměrovat stdout na /dev/null pomocí:

mvn ... 1>/dev/null

(Toto funguje pouze pokud používáte bash (nebo podobné skořepiny) ke spuštění příkazů Maven.)

0
m13r

Můj problém je, že -q je příliš tichý. Jdu maven pod CI

S Maven 3.6.1 (duben 2019) , nyní máte možnost potlačit průběh přenosu při stahování/nahrávání v interaktivním režimu .

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

nebo zkrátka:

mvn -ntp ... ....

To je to, co Ray navrhl v komentářích s MNG-6605 a PR 239 .

0
VonC