Tomcat : Redirection des loggeurs vers LogBack

Le but est de rediriger l’ensemble des loggeurs d’un Tomcat vers LogBack.

Pour ce faire, il faut supprimer les librairies suivantes dans Tomcat/lib :
– commons-logging-1.1.1.jar
– log4j-1.2.1.4.jar
Les numéros de version sont la à titre indicatif mais peuvent varier en fonction des versions de Tomcat.

Ensuite, il faut remplacer les librairies par les bridges suivants :
– jcl-over-slf4j-1.5.8.jar
– jul-to-slf4j-1.5.8.jar
– log4j-over-slf4j-1.5.8.jar

Il faut rajouter les librairies LogBack (toujours dans Tomcat/lib) :
– logback-classic-0.9.17.jar
– logback-core-0.9.17.jar

Etape suivante, création d’un fichier de paramétrage de LogBack. Dans l’exemple on l’appelle « logback.xml » et on va le placer dans Tomcat/conf :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator" />
 <contextName>exo-plateform</contextName>

 <jmxConfigurator />

 <appender name="FILE-APP" class="ch.qos.logback.core.FileAppender">
 <File>${catalina.home}/logs/logback.log</File>
 <layout class="ch.qos.logback.classic.PatternLayout">
 <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS,Europe/Paris} [%thread] %-5level %logger{36} - %msg %xEx%n</Pattern>
 </layout>
 </appender>

 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
 <layout class="ch.qos.logback.classic.PatternLayout">
 <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS,Europe/Paris} [%thread] %-5level %logger{36} - %msg %xEx%n</Pattern>
 </layout>
 </appender>

 <root level="info">
 <appender-ref ref="FILE-APP" />
 <appender-ref ref="CONSOLE" />
 </root>
</configuration>

Dernière étape, il faut modifier le « catalina.properties » pour prendre en compte notre fichier de configuration de LogBack :

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,D://Java/applicatif/conf/langues,D://Java/applicatif/libs/*.jar,${catalina.home}/conf/logback

Pour éviter d’avoir des fichiers logs résiduels à 0ko, il faut supprimer le fichier « logging.properties » qui ne sera désormais plus utilisé.

Pour terminer, on peut rediriger aussi tous les logs Tomcat de base dans LogBack. Pour ça, il faut télécharger les librairies suivantes des « EXTRAS » de Tomcat :
– tomcat-juli.jar
– tomcat-juli-adapters.jar

Tomcat-Juli remplace la librairie initiale du même nom dans Tomcat/bin et les « adapters » vont dans Tomcat/lib. Cette librairie n’existe pas, donc n’est pas écrasée. Ensuite il faut rajouter dans le fichier logback.xml les loggeurs suivants :

<logger name="org.apache.catalina" level="info">
 <appender-ref ref="CATALINA" />
</logger>

<logger name="org.apache.catalina.core.ContainerBase.[Catalina].[localhost]" level="info">
 <appender-ref ref="LOCALHOST" />
</logger>

<logger
 name="org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]" level="info">
 <appender-ref ref="MANAGER" />
</logger>

<logger
 name="org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin]" level="info">
 <appender-ref ref="ADMIN" />
</logger>

<logger
 name="org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]" level="info">
 <appender-ref ref="HOST-MANAGER" />
</logger>

Normalement, tout devrait être correctement redirigé.

Publicités

2 réflexions au sujet de « Tomcat : Redirection des loggeurs vers LogBack »

  1. Anas TAUD

    Bonjour,

    ça ne marche pas, Tomcat ne reconnait pas le fichier de conf logback.xml, au démarrage il affiche le message suivant:
    AVERTISSEMENT: Problem with directory [D:\Repository\server\apache-tomcat-8.0.36\conf\logback], exists: [false], isDirectory: [false], canRead: [false]

    Dans le catalina.properties, il faur mettre autre chose que :
    common.loader= »…, »${catalina.home}/conf/logback »

    Répondre
    1. [codercave] Auteur de l’article

      Bonjour,
      Le message d’erreur stipule que les répertoires déclarés n’existent pas. Il faut bien vérifier ça et s’assurer que les fichiers de conf sont bien rangés dans les répertoires déclarés et que les répertoires de stockage des logs existent bien.

      Répondre

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s