2009-07-18 25 views
39

Tengo una instalación predeterminada de tomcat sin cambios en la configuración de registro. Los archivos de registro (en particular catalina.out) parecen rodarse (diariamente) correctamente.catalina.out rolling con Tomcat 6.0

Sin embargo, así como los registros diarios también hay un archivo catalina.out, que simplemente sigue creciendo. Esto es lo que necesito corregir, es decir, borrarlo todos los días (o eliminarlo del todo si es posible)

¿Puede alguien explicar qué está sucediendo aquí y cuál es la mejor estrategia para controlar el tamaño del archivo de registro?

sólo para aclarar la salida se escriben en catalina.out y el registro diario de forma simultánea

-rw-r--r-- 1 solr solr 90920663 Jul 18 01:16 logs/catalina.2009-07-18.log 
-rw-r--r-- 1 solr solr  238010 Jul 18 01:16 logs/catalina.out 

Configuración swallowOutput parece que no hace ninguna diferencia.

La aplicación que se ejecuta en tomcat es solr en caso de que sea relevante.

+1

La primera ocurrencia de "catalina.out" es probablemente incorrecta. Es "catalina.log" que se rota a diario. – ceztko

Respuesta

65

Solucionado, resulta que la configuración de registro estándar define un registrador de archivos y también un registrador de consola. El registrador de archivos va al diario diario de catalina y el registrador de la consola escribe a catalina.out.

Fix iba a cambiar en conf/logging.properties:

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler 

a

.handlers = 1catalina.org.apache.juli.FileHandler 

que para conseguir algo escrito a catalina.out

+0

Es bueno saberlo - gracias por la actualización. – ars

+9

Sólo quería mencionar que esto no impide que una aplicación que especifica algo como esto en su archivo log4j.properties: log4j.rootLogger = DEBUG, stdout archivo de registro Los que aún consigue descargado por la salida estándar y se coloca en catalina.out. Algo para ver ... –

+0

¿A dónde van los registros si no se ha registrado en catalina.out? Principalmente recomiendo catalina.out para la depuración y necesito esos registros. –

4

Hola es posible que desee probar este solución

http://java.dzone.com/articles/how-rotate-tomcat-catalinaout

Se utiliza un cronjob (logrotate) para copiar, comprimir y limpiar su catalina.out y si usted tiene un vistazo a logrotate verá que tiene una gran cantidad de funcionalidades adicionales. No interfiere con los registros diarios, a menos que lo configure así. Lo encontré útil cuando tuve el mismo problema.

BTW al quitar el controlador de la consola solo afectará a los mensajes producidos por Tomcat.

+1

Cuando ejecuto '/ usr/sbin/logrotate/etc/logrotate.conf' después de configurar'/var/log/tomcat/catalina.out' aún no resuelve mi problema de rotar el archivo 'catalina.out' –

+0

Otro Lo que pasa es que esto rotará a diario. ¿Qué ocurre si quiero rotar a medida que el tamaño del archivo de registro alcanza el tamaño máximo asignado? –

1

que tenían el mismo problema en Ubuntu 11.04 SOLR servidor y el archivo catalina.out era casi 1 GB. Después de

cambiantes logging.properties:

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

a

. manejadores = 1catalina.org.apache.juli.FileHandler

que se detiene el registro en catalina.out

puede encontrar logging.properties archivo en /carpeta/etc tomcat6/ para Ubuntu Linux.

0

También noté que mi carpeta de registro tomcat (/usr/local/tomcat/logs) era bastante grande. Para verificar el tamaño de la carpeta de registro, haga lo siguiente du -hs /usr/local/tomcat/logs/. Para resolver este problema, configura un cron que limpia los archivos cada noche o puede ejecutar estos comandos manualmente. Aquí está el script que elimine los archivos que son mayores de 5 días

#!/bin/sh 
find /usr/local/tomcat/logs -name 'catalina.*.log' -mtime +5 -print0 | xargs -0 rm -f 
find /usr/local/tomcat/logs -name 'localhost_access_log.*.txt' -mtime +5 -print0 | xargs -0 rm -f 
0

puede girar el archivo de catalina.out por configure: -

pasos: -

  • 1) /etc/logrotate.d Goto y Crear archivo de Tomcat

  • 2) Pegar debajo de la línea

  • Girar por tamaño

/opt/OS/OS2/logs/catalina.out {
copytruncate
diaria
gire 30
compresa
missingok
tamaño 20M
}

- tamaño - copia de seguridad catelina.out si el tamaño es mayor que 20MB

O

  • Girar por fecha de

/opt/deadpool/apache-tomcat/logs/catalina.out {

copytruncate

dateext

diaria

girar 30

compresa

missingok

}

  • gira - Guardar el pasado 30 de rotación
  • dateext - copia de seguridad de todos los días catelina.out
  • diaria - Rotación diariamente
  • comprimir - rotación en forma de compresión
  • missingok - si falta algo en rotación se creará ninguna IMPECT

3) Reinicie el servidor

Su trabajo para mí :) Esperamos que esto ayude a alguien.

Gracias :)

Cuestiones relacionadas