Configuração do arquivo de log do MAVEN
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?
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