2017-02-27 1 views
0

Je souhaite configurer le niveau de journalisation de Unitils car je ne souhaite pas afficher les traces d'informations lorsque j'exécute mes tests. Les tests obtenus avec Unitils par Spring:Configurer le journal Unitils

@RunWith(UnitilsJUnit4TestClassRunner.class) 
@SpringApplicationContext("testConfig.xml") 
@Transactional(value = TransactionMode.ROLLBACK) 
public class ContractorServiceIT 

je configurer les journaux à l'aide logback:

<property name="pathfile" value="${catalina.base}/logs" /> 

<appender name="FILE" 
    class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <File>${pathfile}/health-safety-web-test.log</File> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <FileNamePattern>${pathfile}/archived/health-safety-web-test.%d{yyyy-MM-dd}.log</FileNamePattern> 
    </rollingPolicy> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{100} - %msg%n</pattern> 
    </encoder> 
</appender> 

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

<logger name="org.springframework" level="WARN"/> 
<logger name="org.hibernate" level="WARN" /> 
<logger name="org.hibernate.cache" level="ERROR" /> 
<logger name="org.hibernate.SQL" level="WARN"/> 
<logger name="net.sf.ehcache" level="WARN"/> 
<logger name="com.vaadin.spring" level="WARN"/> 
<logger name="org.vaadin.spring" level="WARN"/> 
<logger name="org.atmosphere" level="WARN"/> 
<logger name="org.dbunit" level="ERROR"/> 
<logger name="org.unitils" level="ERROR"/> 
<logger name="es.cic" level="INFO"/> 

<root level="WARN"> 
    <appender-ref ref="FILE" /> 
    <appender-ref ref="STDOUT" /> 
</root> 

Quand je lance les tests dans le dossier santé-sécurité- web-test.log ne s'affiche pas Les journaux d'informations, mais l'éclipse et la console (installation de mvn) affichent ces journaux.

Voici un exemple des journaux que je ne veux pas montrer:

feb 27, 2017 9:07:38 AM org.unitils.core.ConfigurationLoader loadCustomConfiguration 
ADVERTENCIA: No custom configuration file unitils.properties found. 
feb 27, 2017 9:07:38 AM es.cic.viesgo.core.commons.testing.PropertiesDataSourceFactory createDataSource 
INFORMACIÓN: You are running with Spring Security Core 4.0.4.RELEASE 
feb 27, 2017 9:07:39 AM org.springframework.security.config.SecurityNamespaceHandler <init> 
INFORMACIÓN: Spring Security 'config' module version is 4.0.4.RELEASE 
feb 27, 2017 9:07:39 AM org.springframework.security.config.method.GlobalMethodSecurityBeanDefinitionParser parse 

Toute idée?

Répondre

0

Le problème était que Unitils utilise commons-logging pour imprimer des journaux, et j'utilise SLF4J dans mon projet. J'ai résolu le problème de changer la dépendance des SLF4J

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
</dependency> 

pour

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>jcl-over-slf4j</artifactId> 
</dependency> 

Et Unitils maintenant les journaux (et toute autre qui utilise commons-logging Bibliothèques) peuvent être configurés dans le fichier logback.xml.