Je veux utiliser la journalisation de logback avec maven-jetty-plugin. Apparemment, la propriété système logback.configurationFile est lue après maven-jetty-plugin est démarré et a initialisé slf4j, ainsi le fichier ./src/test/resources/logback.xml n'est pas lu par jetty. Par conséquent, tous les messages de journal sont définis sur le niveau de débogage et sont imprimés dans la console (configuration de consignation par défaut). Lancer maven avec -Dlogback.configurationFile = ... résout le problème. Cependant, je préférerais placer la propriété dans le pom comme c'est possible avec log4j et maven-jetty-plugin. Des idées ?logback logging avec maven-jetty-plugin
Voici mon pom.xml:
...
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.0.4.v20111024</version>
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>
<configuration>
<systemProperties>
<systemProperty>
<name>logback.configurationFile</name>
<value>./src/test/resources/logback.xml</value>
</systemProperty>
</systemProperties>
...
Et voici logback.xml:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logFile.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
Belle et propre réponse. À titre de comparaison, je fais quelque chose de similaire en utilisant Gradle: http://thegreenoak.blogspot.com/2013/02/using-slf4j-and-logback-with-gradle.html – djangofan