2009-09-10 29 views

Respuesta

0

es necesario especificar una ruta absoluta, no una relación (suponiendo caminos Unix):

log4j.appender.logfile.File=/path/to/MyDomain/logs/MyApplication.log 
1

El siguiente es posible en Tomcat, quizás Glassfish establece un entorno similar variable apuntando a su ubicación del sistema de archivos:

log4j.appender.logfile.File=${catalina.home}/logs/MyApplication.log 

${catalina.home} es una propiedad de entorno/sistema establecida por Tomcat que apunta a su directorio de instalación. Log4j es capaz de expandir estos, al menos en el PropertyConfigurer.

+4

Es mejor usar catalina.base en lugar de catalina.home, es necesario si su instalación de tomcat se divide en una parte global de solo lectura y en directorios de escritura por instancia de tomcat (donde están los directorios webapp y logs). Parece (basado en Google) que glassfish también define la propiedad catalina.base. –

8

De hecho, es log4j quien resuelve la variable $ {catalina.home}, Glassfish declara $ {catalina.home} como $ {com.sun.aas.instanceRoot} que apunta a ruta/a/MiDominio/

Puede declarar cualquier variable en entorno GF y ponerla en log4j.properties, log4j las analizará cuando log4j esté configurado.

Eso es realmente útil para establecer los parámetros de configuración de registro basado en servidor, usando las mismas log4.properties para la prueba y el despliegue

7

Puede configurar el appender utilizar el $ {} com.sun.aas.instanceRoot, pero a diferencia de algunos otros comentarios que debe ser:

log4j.appender.logfile.File=${com.sun.aas.instanceRoot}/logs/MyApplication.log 

Esta es la ubicación correcta de los registros en el directorio ../domains/domain{x}/logs.

+0

Tenga en cuenta que no podría hacer que esto funcione para Apache Tomcat 5.5, es solo para Glassfish, presumiblemente. –

+0

Esto es para glassfish. Y a partir de ahora, GF no es compatible con log4j de fábrica. –

+0

Gracias, esto funcionó para mí en Glassfish 3.1.1 – kpasgma

0

Dado que en GlassFish las tierras de archivos de configuración y los registros es su hermano, en lugar de

log4j.appender.logfile.File=MyApplication.log 

uso

log4j.appender.logfile.File=../logs/MyApplication.log 

probado en GlassFish 3.1.1 y funciona.

Cuestiones relacionadas