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.
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.
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é!