2011-08-22 14 views
5

Attualmente sviluppo una semplice app Web utilizzando Eclipse e un server Tomcat 7 locale. Ho configurato Eclipse in modo da poter avviare Tomcat 7 appena uscito dal mio IDE: qui non c'è molta magia.Dove vanno i miei file di registrazione della mia webapp su un'installazione Tomcat 7 di Linux?

Nel mio web app, io uso SLF4J con Logback, che assomiglia a questo in una classe di servizio:

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

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

La mia registrazione è configurato in questo modo:

<?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> 

Quando avvio il mio web app e così il server Tomcat 7 locale, l'uscita di registrazione va a

./log/MyTestWebApp.log 

come previsto, dove il curr La directory ent è quella in cui si trova la mia app Web (ad esempio, dove è il mio Maven pom.xml).

Quando avvio la mia app Web su una macchina Linux remota, non riesco a trovare alcun file "MyTestWebApp.log", non nella directory della mia app Web, né nella directory Tomcat7-root.

Quindi la mia semplice domanda è: dove vanno quei log e dove è il mio file "MyTestWebApp.log" rispettivamente?

Grazie mille per il vostro aiuto!

+1

se funziona sul computer locale, ma non remoto, allora si potrebbe voler controllare il privilegio di file, cartelle, ecc – Will

+0

Grazie per la tua risposta, vedi il mio commento qui sotto al post di palacsint, ho trovato il mio file di log nella directory "Tomcat/bin/log/*". –

risposta

4

Il file di registro si trova nella directory iniziale di Tomcat. È possibile ottenere questa directory con questo comando:

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

Grazie per la risposta. Ho trovato il mio file di registro nella mia directory "Tomcat/bin/log/*". Beh, non penso che questo sia un percorso corretto per i file di log :) C'è un approccio comune su come configurare il sistema, quindi i file di log stanno andando nel posto giusto (che cosa mai è questo)? –

+2

Come vedo ci sono due modi: imposta percorsi assoluti nel tuo logback.xml o assicurati che Tomcat sia sempre avviato dalla directory corretta. Di solito utilizzo percorsi assoluti e genera guerre di produzione con un profilo esperto che esegue il filtraggio delle risorse sul logback.xml e inserisce i percorsi assoluti in esso. – palacsint

3

Avete controllato le autorizzazioni all'interno della directory tomcat7? Cioè chi possiede/var/lib/tomcat7? A volte un'installazione renderà questa directory di proprietà di root, non permettendo all'utente di Tomcat7 di creare una directory 'log' lì dentro in primo luogo.

Per risolvere il problema, semplicemente

sudo chown tomcat7:tomcat7 /var/lib/tomcat7 

Speranza che aiuta, Sekm

Problemi correlati