log4j avec Tomcat6
J'ai un problème particulier avec Log4j. Nous déployons sur Weblogic 10 à l'aide de log4j.xml
. Cela fonctionne bien. On a trouvé un moyen de lancer Tomcat 6 de telle manière que nous pouvons développer sur cette plateforme et de les déployer sur Weblogic 10.
J'ai compris comment faire de log4j.properies
travailler avec Tomcat 6 avec d'autres Pots qui utilisent le JULI mécanisme de journalisation dans Tomcat 6. Malheureusement, mon log4j.xml
(qui fonctionne avec Weblogic) ne fonctionne pas avec Tomcat 6. Donc, je suis obligé d'utiliser log4j.properties
.
Je n'ai pas été en mesure de comprendre comment indiquer la classe d'application des hiérarchies dans log4j.properties
.
Donc ma question est comment convertir le suivant log4j.xml
entrées à log4j.properties
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="vccashib" class="org.apache.log4j.DailyRollingFileAppender">
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="File" value="vccashib_10.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %t %-5p %c - %m%n"/>
</layout>
</appender>
<logger name="org.hibernate">
<level value="DEBUG"/>
<appender-ref ref="vccashib" />
</logger>
</log4j:configuration>
Donc, nous allons dire que j'étais à écrire un enregistreur qui capture des journaux pour des cours dans mon com.abc.xyz
hiérarchie. Comment puis-je indiquer que, dans log4j.properties
? (J'ai pris soin de d'autres valeurs, telles que le type de appenders, DatePattern, ConversionPattern, nom de fichier, mise en page etc.)
Veuillez noter que je vous ai envoyé le seul problème de code spécifiques.
Alternativement, si vous savez la réponse sur la façon de faire log4j.xml
qui fait partie de ma guerre d'archive avec Tomcat 6 (JULI pots sont en place et fonctionnent bien avec log4j.properties
), s'il vous plaît laissez-moi savoir
S'il vous plaît aider.
Suhaas
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas tout à fait clair sur votre question. J'ai déployé
log4j
sur tomcat 6 sans problème (vous pouvez poster les problèmes spécifiques que vous rencontrez avec votre configuration xml?). Je ne suis pas sûr de ce que tu veux dire par "j'ai compris comment faire delog4j.properies
travailler avec Tomcat 6 avec d'autres pots qui utilisent le JULI mécanisme de journalisation dans Tomcat 6").de la mondial de tomcat
(
$TOMCAT_HOME/lib
) répertoire? Si ouila bibliothèque peut être à la recherche pour le
config à partir de l'annuaire global,
plutôt que de votre webapp.
Si vous êtes juste de parler de la façon de gérer des hiérarchies de classe dans votre
log4j
de config, c'est quelque chose comme :IL me semble qu'il n'y a pas de problème avec la création de journaux, même avec log4j.xml
J'ai fait d'utiliser http://tomcat.apache.org/tomcat-6.0-doc/logging.html de créer un mécanisme de journalisation comme le suggère.
Il est intéressant de noter que les journaux ont été créés dans le répertoire bin de Tomcat 6 !!! C'est quelque chose à voir avec le répertoire de travail actuel et dans mon cas, il semble être le répertoire bin comme par certains Catalina réglage
Quelques étapes simples décrites ci-dessous va vous aider à configurer l'application web de log4j être initialisé:
1) copie
log4j.xml
à votre(TOMCAT_HOME)/CATALINA_HOME/conf
répertoire. Lelog4j.xml
de mon application se présente comme suit:2) arrêter le tomcat
3) Dans
(TOMCAT_HOME)/CATALINA_HOME/conf
répertoire, vous aurez latomcat6.conf
fichier. Modifiez le fichier comme décrit ci-dessous. Si il n'y a pas deCATALINA_OPTS
dans letomcat6.conf
, créez-en un.4) lancer le serveur tomcat avec votre application spécifique
startup.sh
script.5) c'est ça, vous êtes tous fait. Consulter le journal pour voir si le serveur tomcat est la lecture de la
log4j.xml
que vous avez spécifié danstomcat6.conf
.tail -f /var/tmp/tomcat-20120622.log
Nous utilisons tomcat6 avec
log4j
. Nous avons suivi la manuel suivants pour installerlog4j
dans le tomcat - c'est plus compliqué que sur les anciennes versions (4.1-5.5).Je crois que vous devriez mettre votre
log4j.xml
en vertu de laWEB-INF/classes
répertoire dans votre guerre.Une autre approche consiste à utiliser le framework spring pour cela - voir Log4jConfigListener de l'API
Selon http://boncey.org/2006_7_25_log4j_with_xml_configuration
export CATALINA_OPTS="-Dlog4j.configuration=log4j.xml"
(Je suppose que pour le forcer à regarder pour.xml
plutôt que.properties
)log4j.xml
fichier dansWEB-INF/classes
J'ai eu un problème similaire et cela a fonctionné pour moi.