2010-11-05 5 views
15

J'essaie de consigner tous les messages DEBUG à la console pendant le test dans maven. A cet effet, j'ai créé un fichier src/test/resources/log4j.properties, qui va remplacer la configuration que j'ai déjà dans src/main/resources/log4j.properties. Malheureusement, un tel dépassement ne se produit pas. Pourquoi et comment y remédier? Renommez le fichier de configuration de votre test, par exemple,Comment remplacer log4j.properties pendant le test?

+0

cela devrait fonctionner. ;) – Bozho

+1

@Bozho Je pense aussi, mais ressemble à ces deux fichiers en conflit. Lorsque je les ai deux, aucune configuration de journalisation fonctionne. Ils sont tous les deux simplement ignorés ... – yegor256

+0

Je pense que maven inclut juste les deux ressources dans le chemin, donc log4j devient confus lequel utiliser et échoue simplement en ne montrant rien. Est-ce que la solution de Robert fonctionne? –

Répondre

3

Il devrait fonctionner comme il est, et cela fonctionne. Le problème est ailleurs.

ps. J'ai eu un bazar avec les enregistreurs dans mon classpath: jog4j, slf4j, logback (d'autres dépendances). Si je comprends bien, tous sont en conflit. Je n'ai pas encore nettoyé ce désordre, et je ne sais toujours pas comment faire tous les paquets pour utiliser une facilité de journalisation et une configuration.

+1

écrivez quoi exactement – Bozho

+1

Comment est-ce que vous n'avez pas nettoyé le désordre. Je ne sais pas comment les faire tous travailler ensemble et obtenir la bonne réponse? –

26

log4j-surefire.properties et log4j configure pour le ramasser lors de l'exécution surefire:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <systemPropertyVariables> 
      <log4j.configuration>file:${project.build.testOutputDirectory}/log4j-surefire.properties</log4j.configuration> 
     </systemPropertyVariables> 
    </configuration> 
</plugin> 
+0

J'ai voté votre réponse, merci beaucoup pour cela. Malheureusement, ce n'est pas utile dans mon cas, car le problème ne concerne pas l'emplacement du fichier, mais l'utilisation de 'log4j' avec' slf4j'. – yegor256

+1

Droite. Ensuite, vous devriez poster votre réponse et l'accepter. –

Questions connexes