Maven despeja muitas linhas de saída para o meu gosto (eu gosto do jeito Unix: nenhuma notícia é uma boa notícia).
Quero me livrar de todas as linhas [INFO], mas não consegui encontrar nenhuma menção a um argumento ou configuração que controle a verbosidade do Maven.
Não existe uma maneira semelhante ao LOG4J de definir o nível de registro?
mvn --no-transfer-progress ...
(oumvn -ntp
para shorts) deve ser uma solução adequada. Veja minha resposta abaixo .Respostas:
Você pode tentar a opção -q .
fonte
-q
está muito quieto. Estou executando o maven em CI e quero ver as etapas que ele executa (para rastrear o progresso), mas os indicadores de download estão bagunçando a exibição não ANSI. Existe uma maneira de desligar apenas os indicadores de progresso de download?-B
para habilitar o modo em lote (você deve ter isso em seu sistema de CI de qualquer maneira!) E, em seguida, configureMAVEN_OPTS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
para eliminar as informações de andamento para os downloads.--batch-mode
(-B
) para que o-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
truque funcione.-q como disse acima é o que você precisa. Uma alternativa poderia ser
-B , --batch-mode Executar em modo não interativo (lote) O modo em lote é essencial se você precisar executar o Maven em um ambiente de integração contínua não interativo. Quando executado no modo não interativo, o Maven nunca para 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.
fonte
Com o Maven 3.6.1 (abril de 2019) , agora você tem a opção de suprimir o andamento da transferência ao fazer download / upload no modo interativo .
Isso é o que Ray propôs nos comentários com MNG-6605 e PR 239 .
fonte
deploy
tarefaLink oficial: https://maven.apache.org/maven-logging.html
Você pode adicionar os parâmetros JVM :
Cuidado com MAIÚSCULAS.
fonte
Use as opções de linha de comando -q ou --quiet
fonte
Se você quiser apenas se livrar das
[INFO]
mensagens, também pode fazer:Para suprimir todas as saídas (exceto erros), você pode redirecionar
stdout
para/dev/null
com:(Isso só funciona se você usar
bash
(ou shells semelhantes) para executar os comandos do Maven.)fonte
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
Resumindo: modifique
${MAVEN_HOME}/conf/logging/simplelogger.properties
ou defina as mesmas propriedades porMAVEN_OPTS
meio da variável de ambiente.Por exemplo: definir
MAVEN_OPTS
para-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
configura o registro do ouvinte de transferência do modo em lote e-Dorg.slf4j.simpleLogger.defaultLogLevel=warn
define o nível de registro padrão.fonte
A resposta existente ajuda 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 inúteis.Encontrei esta solução:
https://blogs.itemis.com/en/in-a-nutshell-removing-artifact-messages-from-maven-log-output
fonte