2010-11-25 30 views
12

Comment configurer la journalisation pour la génération maven? Le journal généré par maven ne fournit pas d'informations suffisantes, telles que l'horodatage avec chaque instruction de journal. Où/quel fichier de configuration de log maven utilise-t-il?Configuration du fichier journal maven

Répondre

8

Vous pouvez être conscient de cela, et il n'imprimera pas les dates, mais utiliser mvn -X pour imprimer une sortie prolixe. En outre, vous pouvez toujours diriger la sortie de maven vers un autre utilitaire (en supposant que votre environnement shell contienne des outils compétents à mi-chemin). Par exemple mvn -X clean | awk '{print "("d")"$0}' "d=$(date)" imprime une date avant chaque ligne dans maven. Je n'ai pas pris la peine de formater la date, mais cela se fait facilement avec les arguments de l'exécutable date. Notez que cela ne fonctionnera pas vraiment pour les commandes maven qui nécessitent une entrée utilisateur interactive, telle que maven archetype:generate.

5

La réponse fournie par @whaley est une bonne direction. Cependant, le $ (date) est évalué seulement une fois au début et reste ensuite le même. je devais utiliser une approche mentionnée dans Is there a Unix utility to prepend timestamps to stdin?:

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

Maven dans la version 3.1 et 3.2 permettent la configuration de l'enregistreur à base de SLF4J plus simple. Vous pouvez spécifier "-l logfile" sur la ligne de commande, et la configuration par défaut du SimpleLogger est dans le fichier de configuration conf/logging/simplelogger.properties.

Si vous souhaitez activer les horodatages par défaut (en millisecondes depuis le démarrage), vous pouvez simplement modifier la propriété de ce fichier: org.slf4j.simpleLogger.showDateTime=true.

+0

Mais '-l' est "fichier journal où tout ira construire la sortie", pas la configuration de l'exploitation forestière. – lexicore

+1

@lexicore oui, c'est ce que j'ai dit "-l logfile" – eckes

+0

Je cherche à changer le journal de construction dans un fichier, mvn -l fichier journal fonctionne pour moi. – IcyBrk

1

Comme suggéré par @eckes, le fichier de configuration de journalisation par défaut est disponible dans /conf/logging/simplelogger.properties, à partir de Maven 3.1.0.

Modifier la valeur de la propriété "org.slf4j.simpleLogger.showDateTime" à "true"

org.slf4j.simpleLogger.showDateTime=true 

Pour changer DateTimeFormat, par défaut est le temps par rapport en millisecondes.
Ajouter la ligne ci-dessous dans le fichier simplelogger.properties.

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

Références:
exploitation forestière Maven: https://maven.apache.org/maven-logging.html
DateFormats: http://docs.oracle.com/javase/1.5.0/docs/api/java/text/SimpleDateFormat.html