145 votes

Peut-on rendre Maven moins verbeux ?

Maven produit beaucoup trop de lignes de sortie à mon goût (j'aime la méthode Unix : aucune nouvelle n'est une bonne nouvelle).

Je veux me débarrasser de tous les [INFO] mais je n'ai trouvé aucune mention d'un argument ou de paramètres de configuration permettant de contrôler la verbosité de Maven.

N'existe-t-il pas un moyen similaire à LOG4J pour définir le niveau de journalisation ?

5 votes

Avec Maven 3.6.1 (avril 2019, plus de 10 ans après), mvn --no-transfer-progress ... (ou mvn -ntp pour les shorts) devrait constituer une solution adéquate. Voir aussi ma réponse ci-dessous .

176voto

smink Points 39640

Vous pouvez essayer le -q interrupteur .

-q , --quiet Sortie silencieuse - ne montre que les erreurs

2 votes

@sheki : Pour clarifier, cette option ne désactive pas les messages de débogage du logger - vous devez désactiver cela via les paramètres de votre logger. Par exemple, si vous utilisez logback, inclure un fichier src/test/resources/logback-test.xml dans votre projet vous permettra de personnaliser votre niveau de journalisation à "off" pendant la phase de test. Cela permettra de tout nettoyer.

24 votes

Mon problème est que -q est trop silencieux. Je fais tourner maven sous CI, et je veux voir les étapes qu'il prend (pour suivre la progression), mais les indicateurs de téléchargement font des dégâts sur l'affichage non-ANSI. Existe-t-il un moyen de ne désactiver que les indicateurs de progression du téléchargement ?

6 votes

@Guss : Si vous voulez seulement que les messages Downloading/Downloaded disparaissent, utilisez -B pour activer le mode batch (vous devriez l'avoir dans votre système de CI de toute façon !), et ensuite définissez MAVEN_OPTS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn" pour supprimer les informations sur l'état d'avancement des téléchargements.

42voto

Stanislav Points 13

-q Comme indiqué ci-dessus, c'est ce dont vous avez besoin. Une alternative pourrait être :

-B , --batch-mode Exécution en mode non interactif (batch) Le mode batch est essentiel si vous devez exécuter Maven dans un environnement d'intégration continue non interactif. En mode non-interactif, Maven ne s'arrêtera jamais pour accepter des données de l'utilisateur. Au lieu de cela, il utilisera des valeurs par défaut raisonnables lorsqu'il aura besoin de données.

Il réduira également les messages de sortie plus ou moins à l'essentiel.

26voto

jgrtalk Points 201

Lien officiel : https://maven.apache.org/maven-logging.html

Vous pouvez ajouter le JVM paramètres :

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

Attention aux majuscules.

7voto

Sietse Points 3240

Utiliser les options de ligne de commande -q ou --quiet

6voto

m13r Points 1401

Si vous souhaitez uniquement vous débarrasser de la [INFO] vous pouvez aussi le faire :

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

Supprimer tous (à l'exception des erreurs), vous pouvez rediriger stdout a /dev/null avec :

mvn ... 1>/dev/null

(Cela ne fonctionne que si vous utilisez bash (ou des shells similaires) pour exécuter les commandes Maven).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X