2011-08-22 17 views
5

Actualmente desarrollo una aplicación web simple usando Eclipse y un servidor Tomcat 7 local. Configuré Eclipse para que pueda arrancar el Tomcat 7 directamente de mi IDE, no mucha magia aquí.¿Dónde están mis archivos de registro de mi aplicación web en una instalación Linux de Tomcat 7?

En mi aplicación web, utilizo SLF4J con Logback, que se parece a esto en una clase de servicio:

public class MyServiceImpl implements MyService 
{ 
    private static Logger logger = LoggerFactory.getLogger(MyServiceImpl.class); 

    public void doSomeStuff() 
    { 
     logger.info("Doing some stuff"); 
    } 
} 

Mi registro se configura de esta manera:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>log/MyTestWebApp.%d.log.zip</fileNamePattern> 
      <maxHistory>30</maxHistory> 
     </rollingPolicy> 
     <encoder> 
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="com.test" level="WARN" /> 

    <root level="WARN"> 
     <appender-ref ref="fileAppender" /> 
    </root> 

</configuration> 

Cuando comienzo mi web aplicación y así el servidor local Tomcat 7, la salida de registro va a

./log/MyTestWebApp.log 

como se esperaba, donde el curr El directorio ent es donde está mi aplicación web (por ejemplo, donde está Maven pom.xml).

Cuando inicio mi aplicación web en una máquina Linux remota, no puedo encontrar ningún archivo "MyTestWebApp.log", ni en el directorio de mi aplicación web, ni en el directorio raíz de Tomcat7.

Así que mi pregunta simple es, ¿dónde van esos registros y dónde está mi archivo "MyTestWebApp.log", respectivamente?

¡Muchas gracias por su ayuda!

+1

si funciona en su máquina local pero no a distancia, entonces puede que desee comprobar el privilegio de los archivos, carpetas, etc. – Will

+0

Gracias por su respuesta, por favor vea mi comentario debajo de la publicación de palacsint, encontré mi archivo de registro en el directorio "Tomcat/bin/log/*". –

Respuesta

4

El archivo de registro se encuentra dentro del directorio inicial de Tomcat. Puede obtener este directorio con este comando:

grep -az "\bPWD" /proc/TOMCAT_PID/environ 
+0

Gracias por su respuesta. Encontré mi archivo de registro en mi directorio "Tomcat/bin/log/*". Bueno, no creo que esta sea una ruta correcta para los archivos de registro :) ¿Existe un enfoque común sobre cómo configurar el sistema, por lo que los archivos de registro van al lugar correcto (¿qué es esto?). –

+2

Como veo, hay dos formas: establecer rutas absolutas en su logback.xml o asegurarse de que Tomcat siempre se inicie desde el directorio correcto. Usualmente uso rutas absolutas y genero guerras de producción con un perfil de experto que hace el filtrado de recursos en logback.xml y pone las rutas absolutas en él. – palacsint

3

¿Ha revisado los permisos dentro de su directorio tomcat7? Es decir. ¿A quién pertenece/var/lib/tomcat7? A veces, una instalación hará que este directorio sea propiedad de root, no permitiendo que el usuario de Tomcat7 cree un directorio 'log' allí en primer lugar.

Para solucionarlo, basta con

sudo chown tomcat7:tomcat7 /var/lib/tomcat7 

creo que sirve, Sekm

Cuestiones relacionadas