J'ai la ligne suivante dans mon fichier log4j.properties: p>
log4j.appender.logfile.file = myApplication.log p>
Mon fichier journal apparaît dans le répertoire MyDomain / Config, mais j'aimerais pouvoir atterrir dans le répertoire MyDomain / Journaux. Comment puis-je y parvenir? Je ne suis pas autorisé à modifier le script starttserv. P>
Merci d'avance pour votre aide! P>
5 Réponses :
Vous devez spécifier un chemin absolu, pas un relative (en supposant des chemins UNIX):
Ce qui suit est possible dans Tomcat, peut-être que Glassfish définit une variable d'environnement similaire pointant vers son système de fichiers système: $ {catalina.home} code> est un environnement / Propriété système définie par Tomcat pointant vers son répertoire d'installation. LOG4J est capable d'en développer ces éléments, au moins dans la propriété
PropertyConfigurier Code>. P> P>
Il est préférable d'utiliser Catalina.Base au lieu de Catalina.Home, il est nécessaire que votre installation Tomcat soit divisée en une partie globale en lecture seule et des répertoires inscriptibles par instance Per-Tomcat-instance (où sont les répertoires WebApp et Logs). Il apparaît (basé sur Googling) que Glassfish définit également la propriété Catalina.Base.
En fait, il est log4j qui résout la variable $ {catalina.home}, Glassfish déclare $ {catalina.home} comme $ {com.sun.aas.instanceroot} qui pointe sur Path / to / Mydomain / p>
Vous pouvez déclarer toute variable dans l'environnement GF et le mettre sur LOG4J.PROPERTES, log4J les analysera lorsque Log4J est configuré. P>
qui est vraiment utile pour définir les paramètres de configuration de la journalisation basés sur le serveur, en utilisant les mêmes log4.properties pour le test et le déploiement P>
Vous pouvez définir l'appendeur pour utiliser le $ {com.sun.aas.instanceroot}, mais contrairement à d'autres commentaires, il devrait être:
log4j.appender.logfile.File=${com.sun.aas.instanceRoot}/logs/MyApplication.log
Notez que je ne pouvais pas obtenir ce travail pour Apache Tomcat 5.5, il est vraisemblablement pour Glassfish Poisson probablement.
C'est pour Glassfish. Et à ce moment-là, GF ne prend pas en charge log4j hors de la boîte.
Étant donné que dans Glassfish, le fichier atterrit dans la configuration et les journaux est son frère de sœur, au lieu de
log4j.appender.logfile.File=../logs/MyApplication.log