mercredi 22 février 2012

Java, SLF4J, Logback & Maven

Petite recette pour une utilisation de SLF4J avec Logback dans un context Maven


Créez un projet maven avec l'arborescence classique. Le package de base que j'utilise dans le projet exemple est "fr.gunduz.logback".

Ajoutez dans le POM les dépendances suivantes :


<dependency>
   <groupid>org.slf4j</groupid>
   <artifactid>slf4j-api</artifactid>
   <version>1.6.4</version>
  </dependency>
  <dependency>
   <groupid>ch.qos.logback</groupid>
   <artifactid>logback-classic</artifactid>
   <scope>runtime</scope>
   <version>1.0.0</version>
</dependency>





Dans le répertoire 'resources', ajouter le fichier logback.xml avec le contenu suivant :


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

 <logger level="DEBUG" name="fr.gunduz" />
 <root level="debug">
  <appender-ref ref="STDOUT" />
 </root>
</configuration>


On peut faire une classe pour tester logback :

package fr.gunduz.logback;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class App 
{
  private static final Logger logger = LoggerFactory.getLogger(App.class);

  public static void main( String[] args )
  {
    String test = "with SLF4J and Logback";

    logger.debug("Hello wolrd, {}", test);
  }
}


On peut lancer l'execution :

mvn clean compile exec:java -Dexec.mainClass=fr.gunduz.logback.App



Et vous aurez le 'Hello world'!



Les sources sont disponible sur Google Code

Aucun commentaire:

Enregistrer un commentaire