web-dev-qa-db-fra.com

Comment configurer logs / catalina.out de Tomcat 6 pour une application. (Configurer le fichier journal spécifique à l'application Web pour sys.out, sys.err)

L'exigence est la suivante ...

Nous avons déployé nos 3 applications Web sur le serveur RHEL-5, nous avons déployé des applications avec Tomcat 6.0.16. Nous voulons configurer stdout, stderr, qui arrivent dans Tomcat/logs/catalina.out dans un fichier journal spécifique à l'application comme,

Tomcat/logs/app1.log Tomcat/logs/app2.log Tomcat/logs/app3.log

nous utilisons log4j, mais il ne génère que des détails de journalisation, nous avons besoin de stdout par application qui vient dans Tomcat/logs/catalina.out

Toute aide appréciée ...

27
Garudadwajan

Essaye ça,

  1. Chaque application doit utiliser son propre log4j. Vous pouvez y parvenir en plaçant log4j.jar dans WEB-INF/lib de chaque application.
  2. Dans le fichier de configuration de chaque log4j (l'emplacement par défaut est WEB-INF/classes), spécifiez le nom du fichier journal, par ex. log4j.appender.AppLog.File=${catalina.home}/logs/app1.log.
  3. Ajouter swallowOutput="true" pour chaque contexte donc stdout, stderr ira dans votre propre journal.

Nous le faisons sur Tomcat 5.5 mais je pense que cela devrait également fonctionner sur 6.0.

EDIT: Voici notre META-INF/context.xml,

<?xml version="1.0" encoding="UTF-8"?>
<Context override="true" swallowOutput="true" useNaming="false">
  <WatchedResource>WEB-INF/web.xml</WatchedResource>
  <Manager pathname=""/>
</Context>
30
ZZ Coder