2017-10-17 5 views
1

Je suis en train d'activer la journalisation de test avec Gradle 4.2.1 et JUnit 4.essais Gradle JUnit exploitation forestière avec slf4j

https://discuss.gradle.org/t/allow-slf4j-logging-during-junit-tests/24449

Pour une raison quelconque, je ne peux voir les niveaux de journalisation INFO et non au-dessus (WARN , ERREUR). Quelqu'un a-t-il réussi à définir ceci pour montrer tous les niveaux de log lors des tests unitaires?

Merci d'avance.

dependencies { 
    compile group: 'org.slf4j', name:'slf4j-api', version: '1.7.21' 
    compile group: 'org.slf4j', name:'slf4j-simple', version: '1.7.21' 
    compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.7' 
    testCompile group: 'junit', name: 'junit', version: '4.12' 
} 

...

test { 
    testLogging {  
     showStandardStreams true 
     exceptionFormat 'full' 

logback-test.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="io.effectus.cqrs" level="INFO" additivity="false"> 
     <appender-ref ref="CONSOLE" /> 
    </logger> 

    <root level="WARN"> 
     <appender-ref ref="CONSOLE" /> 
    </root> 

</configuration> 
+0

Comment votre logback (-test) .xml ressemble-t-il? Je suis capable de voir WARN et ERROR, – A4L

+0

question éditée ci-dessus. d'autres fichiers dont j'ai besoin pour faire ce travail? Pouvez-vous partager votre configuration? – Gadi

+0

Ma configuration consistait uniquement en l'enregistreur racine avec le niveau 'INFO' et' logback-test.xml' placé dans 'src/test/resources', assurez-vous que votre fichier de configuration est dans le classpath et qu'il est effectivement utilisé. – A4L

Répondre

3

Vous avez deux implémentations SLF4J sur le classpath:

compile group: 'org.slf4j', name:'slf4j-simple', version: '1.7.21' 
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.7' 

La valeur par défaut pour slf4j- simple est seulement INFO et ci-dessus, cela peut être changé ed en configurant simplelogger.properties que vous n'avez probablement pas.

Ainsi, votre problème, ne voyant qu'INFO et plus, est probablement dû au fait que slf4j-simple a priorité sur logback-classic.

Vous avez mentionné dans un commentaire que cela fonctionnait après la mise à niveau vers le journal 1.2.3. Probablement pour une raison quelconque, cela prend la préférence sur slf4j-simple maintenant, mais il vaut mieux s'assurer que vous n'avez qu'une seule liaison sur le classpath.

+0

merci, c'est aussi des informations utiles – Gadi