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é.
3 Comments
Fouad Mz
15 mars 2013 - 11 h 41 minBonjour,
J’ai un souci avec le DailyRollingFileAppender.
Il faut que je redémarre mon serveur Tomcat pour que les fichiers logs soient créés ! Les logs ne sont pas créés à minuit comme je le souhaite, quand j’arrive le matin, rien n’est créé !
Je suis sur un environnement Linux + apache-tomcat-6.0.35 + log4j-1.2.15.
Nicolas BESNARD
17 mars 2013 - 10 h 03 minEst-ce que tu as modifié la config tomcat pour qu’il utilise log4j au lieu de Juli ?
Peux-tu envoyer ta section concernant DailyRollingFileAppender de ton fichier log4j.properties ?
Get More Information
18 mai 2013 - 15 h 00 minHelpful information. Lucky me I found your site by accident, and I am shocked why this twist of fate did not took place earlier!
I bookmarked it.