Pergunta

Como posso configurar o log para a criação do Maven? O log que o MAVEN gera não está fornecendo informações suficientes como carimbo de hora com cada instrução LOG. Onde/qual o arquivo de configuração de log que o maven usa?

Foi útil?

Solução

Isso ainda parece um pouco fechado Problema em Maven, como você pode ver em:

https://issues.apache.org/jira/browse/mng-519

A solução alternativa fornecida não parece tão ruim, mas você precisa modificar a instalação do MAVEN.

Outras dicas

Você pode estar ciente disso, e não imprimirá datas, mas use mvn -X Para imprimir a saída detalhada.

Além disso, você sempre pode canalizar a saída do Maven para alguma outra utilidade (assumindo que seu ambiente de shell contenha ferramentas competentes no meio do caminho). Por exemplo mvn -X clean | awk '{print "("d")"$0}' "d=$(date)" Imprime uma data antes de cada linha no Maven. Não me incomodei em formatar a data, mas isso é facilmente feito com argumentos para o date executável. Observe que isso realmente não funcionará para comandos maven que requerem entrada interativa do usuário, como maven archetype:generate.

A resposta fornecida por @whaley é uma boa direção. No entanto, o $ (data) é avaliado apenas uma vez no início e depois permanece o mesmo. Eu tive que usar uma abordagem mencionada em Existe um utilitário Unix para prender os registros de data e hora da Stdin?:

mvn -X <goals> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }'

O MAVEN na versão 3.1 e 3.2 permite uma configuração mais simples do logger baseado em SLF4J. Você pode especificar "-l LogFile" na linha de comando e a configuração padrão do SimpleLogger está no arquivo de configuração conf/logging/simplelogger.properties.

Se você deseja ativar as camadas de tempo padrão (milissegundos desde o início), você pode alterar a propriedade simples neste arquivo: org.slf4j.simpleLogger.showDateTime=true.

Conforme sugerido pelo @eckes, o arquivo de configuração de log padrão está disponível em /conf/logging/simpleLogger.properties, do maven 3.1.0 em diante.

Alterar "org.slf4j.simpleLogger.showdateTime" Valor da propriedade para "True"

org.slf4j.simpleLogger.showDateTime=true

Para alterar o DateTimeFormat, como o padrão é um tempo relativo em milissegundos.
Adicione a linha abaixo no arquivo SimpleLogger.Properties.

org.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS

Referências:
Loging Maven: https://maven.apache.org/maven-logging.html
DateFormats: http://docs.oracle.com/javase/1.5.0/docs/api/java/text/simpledateformat.html

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