Можно ли сделать Maven менее многословным? - PullRequest
86 голосов
/ 16 сентября 2008

Maven выдает слишком много строк вывода на мой вкус (мне нравится способ Unix: нет новостей - это хорошие новости).

Я хочу избавиться от всех строк [INFO], но не могу найти упоминания об аргументе или настройках конфигурации, которые управляют многословием Maven.

Нет ли LOG4J-подобного способа установки уровня журнала?

Ответы [ 8 ]

109 голосов
/ 16 сентября 2008

Вы можете попробовать переключатель -q .

-q, - тихий тихий вывод - показывать только ошибки

23 голосов
/ 10 ноября 2016

-q , как сказано выше, это то, что вам нужно. Альтернативой может быть

-B , - пакетный режим Запустить в неинтерактивном (пакетном) режиме Пакетный режим необходим, если вам нужно запустить Maven в неинтерактивной среде непрерывной интеграции. При работе в неинтерактивном режиме Maven никогда не прекратит принимать ввод от пользователя. Вместо этого он будет использовать разумные значения по умолчанию, когда он требует ввода.

И также более или менее сведет выходные сообщения к основам.

6 голосов
/ 27 июля 2017

Официальная ссылка: https://maven.apache.org/maven-logging.html

Вы можете добавить в JVM параметры:

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

Остерегайтесь UPPERCASE.

6 голосов
/ 16 сентября 2008

Используйте параметры командной строки -q или --quiet

0 голосов
/ 13 мая 2019

Моя проблема в том, что -q слишком тихий. Я бегу Maven под CI

С Maven 3.6.1 (апрель 2019 г.) теперь у вас есть опция для подавления процесса передачи при загрузке / выгрузке в интерактивном режиме .

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

или коротко:

mvn -ntp ... ....

Вот что Луч предложил в комментариях с MNG-6605 и PR 239 .

0 голосов
/ 03 мая 2019

Существующий ответ поможет вам отфильтровать на основе уровня журнала, используя --quiet. Я обнаружил, что многие сообщения INFO полезны для отладки, однако сообщения журнала загрузки артефактов, такие как следующие, были шумными и бесполезными.

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

Я нашел это решение:

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 голосов
/ 26 февраля 2018

Если вы хотите избавиться только от [INFO] сообщений, которые вы также можете сделать:

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

Для подавления всех выходов (кроме ошибок) вы можете перенаправить stdout на /dev/null с помощью:

mvn ... 1>/dev/null

(Это работает, только если вы используете bash (или аналогичные оболочки) для запуска команд Maven.)

0 голосов
/ 06 декабря 2016

Maven 3.1.x использует SLF4j для ведения журнала, инструкции по настройке вы можете найти на https://maven.apache.org/maven-logging.html

Вкратце: либо измените ${MAVEN_HOME}/conf/logging/simplelogger.properties, либо задайте те же свойства с помощью переменной среды MAVEN_OPTS.

Например: установка MAVEN_OPTS в -Dorg.slf4j.simpleLogger.log.org.apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn настраивает ведение журнала прослушивателя передачи в пакетном режиме, а -Dorg.slf4j.simpleLogger.defaultLogLevel=warn устанавливает уровень ведения журнала по умолчанию.

...