¿Dónde están mis registros de Tomcat?

26

Instalé Tomcat6 en un servidor Ubuntu 9.04 usando apt-get install tomcat6. Subí un WAR usando la interfaz del administrador e intenté iniciar la aplicación, pero recibí un error bastante genérico en la interfaz web que decía que no podía iniciarse.

Estoy tratando de encontrar los registros para determinar por qué mi guerra no comenzará (sospecho que hay poca memoria ya que estoy en un VPS pequeño) pero no sé dónde están.

/ var / lib / tomcat6 / logs está vacío. Mi página de bienvenida de Tomcat me informa de manera confiable lo siguiente;

Tomcat is installed with CATALINA_HOME in /usr/share/tomcat6 
CATALINA_BASE in /var/lib/tomcat6, 
following the rules from /usr/share/doc/tomcat6-common/RUNNING.txt.gz.

ACTUALIZAR

Intenté correr;

$ ps -ax 
/usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid

Pero no hay nada en / var / log / syslog

También corriendo

$ losof -p PID

no mostró ningún archivo de registro ...

$  for PID in $(pgrep jsvc);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
l-wx------ 1 root 500 64 2010-03-30 13:29 1 -> pipe:[301470406]
lrwx------ 1 root 500 64 2010-03-30 13:29 1 -> /dev/null
l-wx------ 1 root root 64 2010-03-30 13:29 1 -> pipe:[301470406]

Gracias,

Gav

gav
fuente

Respuestas:

5

Muy tarde para esta discusión, pero parece que el archivo 03catalina.policy en tomcat5.5 y tomcat6 en realidad no permite escribir en archivos de registro.

La solución más simple es cambiar los permisos de JULI a:

// These permissions apply to JULI
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
    permission java.security.AllPermission;
};

Obviamente, puede haber problemas de seguridad de los que no estoy al tanto, pero realmente no me molesto en profundizar: he pasado demasiado tiempo en esto.

Auspex
fuente
Gracias por la actualización, nunca conseguí que esto funcionara y ahora que VPS está muerto. Para mí tiene sentido que los registros no se escribieran, ya que nunca vi un identificador abierto al encender el servidor.
gav
34

Un buen truco es ejecutar el comando " lsof -p PID" donde PID es la identificación del proceso de su servidor Tomcat. Este comando le dará una lista de todos los archivos abiertos por el proceso, incluido el archivo de registro. Ver la página de Wikipedia .

dogbane
fuente
Ese es un consejo increíble! Lamentablemente, ninguno de mis procesos tiene un archivo de registro ... no estoy seguro de lo que eso significa.
gav
2
Podría significar que el proceso no pudo abrir el archivo de registro. Debería tener algunos errores registrados en la consola / STDOUT. Si está utilizando Linux, puede intentarlofor PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici
El uso de apt-get para instalar Tomcat significa que está configurado para ejecutarse como un demonio usando jsvc. Solo requirió un cambio en su comando a (java -> jsvc). El fragmento devolvió el resultado al final de mi pregunta (el formato del comentario no se puede leer).
gav
19

Por defecto verifica

/var/log/tomcat6/catalina.out 

o algo así

y verifique las propiedades de registro en

/usr/share/tomcat6/conf/logging.properties

generalmente / usr / share / tomcat6 / conf / es un enlace simbólico a / etc / tomcat6 /

Lanselot
fuente
/var/log/tomcat6/catalina.out no existe y tampoco la carpeta / usr / share / tomcat6 / conf. /etc/tomcat6/logging.properties sugiere que $ {catalina.base} / logs es el directorio que estoy buscando, pero como dije, no hay nada escrito allí. Ho hum :(
gav
4

Deberían estar en CATALINA_HOME/logs

Lo he visto con mayor frecuencia en /opt/tomcat/logs, pero en su caso podría ser/usr/share/logs

Bozho
fuente
1

Por defecto, los registros de Tomcat están dentro /var/log/tomcat?y /var/lib/tomcat7/logsgeneralmente apuntan hacia allí.

Como root, puede verificarlos por:

tail -f /var/log/tomcat7/*.log /var/log/tomcat7/*.txt /var/log/tomcat7/*.out

Si todavía tiene algún problema, intente encontrarlo a través de:

sudo lsof | grep -E "java.*(out|txt|log)$"
kenorb
fuente
-1

Podemos encontrar registros como el siguiente para Windows. C: \ Archivos de programa \ Apache Software Foundation \ Tomcat 9.0 \ logs

consulte también C: \ Archivos de programa \ Apache Software Foundation \ Tomcat 9.0 \ conf \ logging-properties.

De repente N
fuente
2
La pregunta publicada se refiere a una instalación de Linux (específicamente Ubuntu). La respuesta que dio es para una instalación basada en Windows. Además, esta pregunta ya tiene una respuesta aceptada.
Corey S.