Pergunta

Maven vomita muitas linhas de saída ao meu gosto (eu gosto do jeito Unix:Nenhuma notícia é boa notícia).

Quero me livrar de todas as linhas [INFO], mas não consegui encontrar nenhuma menção a um argumento ou configurações que controlem a verbosidade do Maven.

Não existe uma maneira semelhante ao LOG4J de definir o nível de log?

Foi útil?

Solução

Você pode tentar o -q trocar.

-q,--quiet Saída silenciosa - mostra apenas erros

Outras dicas

-q como dito acima é o que você precisa.Uma alternativa poderia ser

-B, --modo em loteExecutar no modo de lote não interativo (lote) é essencial se você precisar executar o Maven em um ambiente de integração contínuo e não interativo.Ao executar no modo não interativo, o Maven nunca irá parar para aceitar a entrada do usuário.Em vez disso, ele usará valores padrão razoáveis ​​quando exigir entrada.

E também reduzirá as mensagens de saída mais ou menos ao essencial.

Use as opções de linha de comando -q ou --quiet

Ligação oficial:https://maven.apache.org/maven-logging.html

Você pode adicionar no JVM parâmetros:

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

Cuidado com MAIÚSCULAS.

Maven 3.1.x usa SLF4j para registro, você pode encontrar instruções sobre como configurá-lo em https://maven.apache.org/maven-logging.html

Resumidamente:Ou modificar ${MAVEN_HOME}/conf/logging/simplelogger.properties, ou defina as mesmas propriedades por meio do MAVEN_OPTS variável de ambiente.

Por exemplo:contexto MAVEN_OPTS para -Dorg.slf4j.simpleLogger.log.org.apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn configura o registro do ouvinte de transferência no modo em lote e -Dorg.slf4j.simpleLogger.defaultLogLevel=warn define o nível de log padrão.

Se você só quer se livrar do [INFO] mensagens que você também pode fazer:

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

Suprimir todos saídas (exceto erros) que você pode redirecionar stdout para /dev/null com:

mvn ... 1>/dev/null

(Isso só funciona se você usar bash (ou shells semelhantes) para executar os comandos do Maven.)

A resposta existente ajuda você a filtrar com base no nível de log usando --quiet.Descobri que muitas mensagens INFO são úteis para depuração, no entanto, as mensagens de log de artefato de download, como as seguintes, eram barulhentas e não eram úteis.

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

Encontrei esta solução:

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

Meu problema é que -q está muito quieto.Estou executando o maven sob CI

Com Maven 3.6.1 (abril de 2019), agora você tem um opção para suprimir o progresso da transferência ao fazer download/upload em modo interativo.

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

ou em resumo:

mvn -ntp ... ....

Isto é o que Raio proposto nos comentários com MNG-6605 e RP 239.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top