Pour nos applications développées en JEE nous avions un sérieux problème de log tomcat qui se remplissaient pour atteindre des tailles critiques mettant en péril le fonctionnement de nos applications. Après des essais, un peu de lecture l’équipe R&D d’Easyflyer a décidée d’abandonner la configuration du moteur JULI installé par défaut dans Tomcat (version 6.0 pour nous), et de remplacer le moteur par log4j.
Voici la procédure à suivre pour installer Log4j dans Tomcat :
1. Télécharger les librairies nécessaires
Les librairies nécessaires sont :
- log4j version >= 1.2.x
- les jar tomcat-juli-adapters.jar et tomcat-juli.jar.
Les jars tomcat-julixx.jar sont téléchargeables à partir du site Apache Tomcat dans la rubrique download correspondant à votre numéro de version. Il faut se rendre ensuite dans la rubrique Quick Navigation -> Browse, et se déplacer dans bin?extra.
2. Déplacer les librairies
- copier tomcat-juli.jar dans le répertoire bin de Tomcat
- copier tomcat-juli-adapters.jar dans le répertoire lib de Tomcat
3. Création du fichier de configuration
Le fichier de configuration log4j.properties doit être placé dans le répertoire lib de Tomcat. Voici un exemple de configuration :
log4j.rootLogger=INFO, CATALINA
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}?logs?catalina.out
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern =%d [%t] %-5p %c - %m%n
log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File=${catalina.base}?logs?localhost.out
log4j.appender.LOCALHOST.Append=true
log4j.appender.LOCALHOST.Encoding=UTF-8
log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MANAGER.File=${catalina.base}?logs?manager.out
log4j.appender.MANAGER.Append=true
log4j.appender.MANAGER.Encoding=UTF-8
log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.HOST-MANAGER.File=${catalina.base}?logs?host-manager.out
log4j.appender.HOST-MANAGER.Append=true
log4j.appender.HOST-MANAGER.Encoding=UTF-8
log4j.appender.HOST-MANAGER.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[?manager]=\
INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[?host-manager]=\
INFO, HOST-MANAGER
Un petit redémarrage de Tomcat et le tour est joué.


Commentaires récents