web-dev-qa-db-fra.com

chemin du fichier relatif log4j

J'aimerais que mon application web se connecte aux fichiers avec ce chemin: webapp/logs /

Je peux définir le chemin absolu dans le fichier log4j.properties, mais la structure de répertoires de l'environnement de production sera différente. Existe-t-il un moyen de le faire?

Voici comment je fais:

log4j.appender.f=org.Apache.log4j.RollingFileAppender
log4j.appender.f.layout=org.Apache.log4j.PatternLayout
log4j.appender.f.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.f.File=log.out
log4j.appender.f.MaxFileSize=100KB

Il s'agit d'imprimer les journaux dans un fichier nommé log.log dans mon répertoire Eclipse (c: // Eclipse). J'utilise Tomcat 6.

21
Bob

log4j est capable d'étendre les propriétés système, donc si votre environnement de production définit une propriété pour le répertoire dans lequel vous souhaitez placer les fichiers journaux, vous pouvez la référencer à partir du fichier log4j.properties.

Par exemple, nous déployons également des applications Web sur Tomcat. Tomcat configure une propriété système nommée catalina.base qui pointe vers le répertoire de base de Tomcat. Une configuration log4j qui ressemble à ceci:

 log4j.appender.f.File = ${catalina.base}/logs/myapp.log

Entraînera le myapp.log fichier en cours de stockage dans le répertoire logs sous le répertoire d'installation de Tomcat.

37
matt b

Il est préférable de fournir:
log4j.appender.f.File = ./myapp.log

. représente le dossier actuel (généralement le dossier racine du projet). Cela fonctionne également sur différents systèmes d'exploitation. Si vous utilisez $ {catalina.home}, vous n’exécuterez peut-être pas une application Web via Tomcat.

Ce message m'a aidé à traverser le problème:
http://www.matjazcerkvenik.si/Site/Java::Log4j_Properties.html (lien mis à jour http://www.matjazcerkvenik.si/developer/Java -log4j.php )

À votre santé!

14
despot