Où configurer les fichiers journaux internes de tomcat7 stdout / stderr
Je suis en utilisant tomcat 7.0.40 avec log4j config selon http://tomcat.apache.org/tomcat-7.0-doc/logging.html
Tout fonctionne comme prévu, sauf que certains fichiers de log sont créés, qui sont en fait pas configuré dans mon log4j.propriétés:
log4j.rootLogger=INFO, CATALINA
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.log
log4j.appender.CATALINA.MaxFileSize=3MB
log4j.appender.CATALINA.MaxBackupIndex=10
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
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.RollingFileAppender
log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.log
log4j.appender.LOCALHOST.MaxFileSize=3MB
log4j.appender.LOCALHOST.MaxBackupIndex=10
log4j.appender.LOCALHOST.Append=true
log4j.appender.LOCALHOST.Encoding=UTF-8
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.RollingFileAppender
log4j.appender.MANAGER.File=${catalina.base}/logs/manager.log
log4j.appender.MANAGER.MaxFileSize=3MB
log4j.appender.MANAGER.MaxBackupIndex=10
log4j.appender.MANAGER.Append=true
log4j.appender.MANAGER.Encoding=UTF-8
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.RollingFileAppender
log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager.log
log4j.appender.HOST-MANAGER.MaxFileSize=3MB
log4j.appender.HOST-MANAGER.MaxBackupIndex=10
log4j.appender.HOST-MANAGER.Append=true
log4j.appender.HOST-MANAGER.Encoding=UTF-8
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
Les fichiers qui sont créés bien qu'ils ne sont pas dans ma configuration sont:
- communes-démon.aaaa-MM-jj.journal
- tomcat7-stderr.aaaa-MM-jj.journal
- tomcat7-stdout.aaaa-MM-jj.journal
Comme vous le voyez, ils utilisent un quotidien de roulement fichier appender, ce qui n'est pas souhaitée, car j'ai besoin d'une maintenance du système libre, donc je préfère un rollingfileappender qui maxBackupIndex pour empêcher la croissance illimitée des journaux.
Alors, où puis-je configurer le stdout, stderr et les communes-démon journaux? Est-il une configuration quelque part, ou puis-je remplacer la config avec mon propre log4j config? Thx
source d'informationauteur räph
Vous devez vous connecter pour publier un commentaire.
Je pense avoir une exigence similaire/face même quelques temps plus tard dans le futur sur l'un de nos systèmes. Donc, a tenu à trouver une solution moi-même.
Regardé dans les communes-démon d'abord pour voir si il n'y a aucune configuration que nous pouvons faire pour atteindre un maxbackupindex sur les journaux, mais la recherche n'a pas beaucoup d'aide.
Cependant, j'ai trouvé deux approches que les gens prennent pour traiter les "logs de tomcat franchissement des limites".
Première Approcah:-
1) Trouver
context.xml
dans Tomcat dans le chemin d'accès :-2) Modifier le contexte de la balise à ajouter
swallowOutput="true"
comme ci-dessous:-(Il avale tous vos stdout/stderr et redirige vers votre sous-jacent système d'enregistrement.)
3) Dans votre log4j.propriétés; ajouter config pour rediriger votre
org.apache.catalina
journaux à votre propre fichier de log.Votre enregistreur ressemblera à ceci:-
(Sur
YourAppender
maintenant, vous pouvez définirMaxBackupIndex
etMaxFileSize
pour atteindre vos définir le nombre de survols et une limite sur la taille du journal. )Si l'approche ci-dessus ne fonctionne pas; vous pouvez essayer d'utiliser un outil externe comme mentionné dans la deuxième approche
Deuxième Approche :-
Il y a un simple outil appelé
logrotate
disponible pour obtenir l'effet désiré sur les journaux que vous ne contrôlez pas. Voici quelques liens pour vous aider à démarrer.Comment faire pivoter Tomcat catalina.hors
La compréhension de logrotate utilitaire
logrotate utilisation
logrotate sur windows
L'utilisation de cet outil est assez simple et une course rapide à travers ces liens doivent obtenir ce dont vous avez besoin.
J'ai eu le même problème et finalement tombé sur la solution. Tomcat 7 pour windows est un tomcat propriétés de l'application Moniteur de Tomcat. Sur l'onglet enregistrement, vous devez supprimer la valeur "auto" dans le rediriger stdout et stderr les zones d'entrée. Il suffit de laisser le champ vide et il ne crée pas ces fichiers. Ensuite, vous pouvez utiliser log4j pour créer de roulement des fichiers journaux pour ces fichiers critiques pour l'avenir des fins de débogage.
Espère que ça aide.
Sur windows, vous devrez aller pour tomcat/bin/service.chauve-souris et modifier PR_LOGPATH variable (toutes).
Et probablement réinstaller service par service "supprimer" et "service " installer"
Sur les systèmes linux, la solution doit être très similaire