Tomcat 6 log4j - linux - eliminar catalina.out de forma segura

Agregar log4j [1] en tomcat 6.0.x obliga a tomcat a producir registros en el archivo "catalina". Sin embargo, el catalina.out predeterminado aún se genera y se completa con registros. Entonces, preguntas:

¿Es seguro eliminar el archivo catalina.out (mientras se ejecuta el servidor)? En caso afirmativo, ¿podría agregarse esta eliminación al script de inicio de Tomcat? En caso afirmativo, ¿podría alguien señalar el archivo y el script requerido? ¿Es posible que Tomcat deje de crear catalina.out, ya que ya no es necesario?

  1. http://tomcat.apache.org/tomcat-6.0-doc/logging.html

Gracias de antemano gente!

preguntado el 09 de marzo de 12 a las 15:03

2 Respuestas

Tomcat redirige su stdout y stderr a catalina.out. Por lo tanto, las escrituras directas de salida/err y los mensajes log4j ConsoleAppender irán a catalina.out. Ver archivo catalina.sh para detalles. Para deshabilitarlo por completo, puede redirigir stdout y stderr a /dev/null configurando la variable de entorno CATALINA_OUT:

export CATALINA_OUT=/dev/null

Pero recomiendo deshabilitar ConsoleAppender en su lugar para reducir el tamaño de catalina.out y monitorearlo periódicamente en busca de mensajes de error, que pueden ir a stdout sin pasar por log4j.

respondido 13 mar '12, 21:03

Recomienda deshabilitar ConsoleAppender pero no menciona cómo hacerlo. - Rooby

.handlers = 1catalina.org.apache.juli.AsyncFileHandler - Phat H. VU

¿Hay algún motivo por el que desee eliminar el archivo catalina.out? Parece que podría conducir a la pérdida de mensajes de eventos importantes. Tal vez considere simplemente establecer

org.apache.catalina.level=INFO

De lo contrario, no puedo pensar en una razón por la que afectaría negativamente la funcionalidad del contenedor si lo eliminara. En una instalación * nix, todavía se escribe en el descriptor de archivo de un archivo que está desconectado de un inodo (por lo que, de lo contrario, no se puede acceder) y en Windows no le permitirá eliminarlo porque el contenedor tendrá un bloqueo de archivo.

documentos de registro - un rtfm rápido y parece que debería poder eliminar los controladores de logging.properties para dejar de producir este archivo

respondido 09 mar '12, 15:03

La razón para eliminar catalina.out es que, debido al uso de log4j, los registros de Tomcat ahora se producen en otro archivo "catalina". Así que tenemos los mismos registros dos veces. Además, catalina.out se vuelve realmente grande. - nouco

Debe consultar la documentación, pero en mi experiencia, hay ciertos mensajes que parecen solo llegar a catalina. Específicamente aquellos relacionados con problemas de classpath y errores fatales de contenedores. Sugeriría reducir la verbosidad de la configuración de registro de catalina. - nsfyn55

Tenga en cuenta que no quiero reducir la verbosidad, además, como señalé antes, esos registros a los que se refiere, ahora también se producen en un archivo más, por lo que catalina.out es inútil (ya que no estoy interesado en la salida estándar del servidor) - nouco

lee mi actualización. Creo que puede eliminar los controladores de archivos de logging.properties y dejará de agregar esos eventos de registro a los archivos. - nsfyn55

Lo que sugieres no es posible. De la documentación de tomcat, con respecto a la integración de tomcat con log4j: "Elimine $CATALINA_BASE/conf/logging.properties para evitar que java.util.logging genere archivos de registro de longitud cero". - nouco

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.