Wo sind meine Tomcat-Protokolle?


26

Ich habe Tomcat6 mit apt-get install tomcat6 auf einem Ubuntu 9.04-Server installiert. Ich habe eine WAR-Datei über die Manager-Oberfläche hochgeladen und versucht, die Anwendung zu starten. Auf der Weboberfläche wurde jedoch ein allgemeiner Fehler angezeigt, der darauf hinwies, dass sie nicht gestartet werden konnte.

Ich versuche, die Protokolle zu finden, um festzustellen, warum mein Krieg nicht beginnt (ich vermute, dass wenig Speicher vorhanden ist, da ich auf einem kleinen VPS bin), aber ich weiß nicht, wo sie sich befinden.

/ var / lib / tomcat6 / logs ist leer. Meine Tomcat-Begrüßungsseite informiert mich zuverlässig über Folgendes:

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.

AKTUALISIEREN

Ich versuchte zu rennen.

$ 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

Aber in / var / log / syslog ist nichts

Läuft auch

$ losof -p PID

hat keine Protokolldateien angezeigt ...

$  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]

Vielen Dank,

Gav

Antworten:


5

Sehr spät zu dieser Diskussion, aber es scheint, dass die Datei 03catalina.policy in tomcat5.5 und tomcat6 das Schreiben in Protokolldateien nicht erlaubt.

Die einfachste Lösung besteht darin, die JULI-Berechtigungen zu ändern:

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

Natürlich kann es Sicherheitslücken geben, die mir nicht bewusst sind, aber ich kann mich wirklich nicht die Mühe machen, tiefer zu graben - ich habe selbst zu lange damit verbracht.


Danke für das Update, ich habe das nie selbst zum Laufen gebracht und jetzt, da VPS tot ist. Es macht für mich Sinn, dass die Protokolle nicht geschrieben wurden, da ich beim Hochfahren des Servers nie einen offenen Griff gesehen habe.
Gav

33

Ein guter Trick ist, den Befehl " lsof -p PID" auszuführen, wobei PID die Prozess-ID Ihres Tomcat-Servers ist. Mit diesem Befehl erhalten Sie eine Liste aller vom Prozess geöffneten Dateien, einschließlich der Protokolldatei. Siehe Wikipedia-Seite .


Das ist ein toller Tipp! Leider hat keiner meiner Prozesse eine Protokolldatei ... nicht sicher, was das bedeutet.
Gav

2
Dies kann bedeuten, dass der Prozess die Protokolldatei nicht öffnen kann. Auf der Konsole / STDOUT sollten einige Fehler protokolliert sein. Wenn Sie Linux verwenden, können Sie versuchenfor PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici

Die Verwendung von apt-get zur Installation von Tomcat bedeutet, dass es so konfiguriert ist, dass es mit jsvc als Daemon ausgeführt wird. Benötigte nur eine Änderung in Ihrem Befehl (Java -> Jsvc). Das Snippet gab die Ausgabe am Ende meiner Frage zurück (Kommentarformatierung ist nicht lesbar).
Gav

18

Standardmäßig überprüfen

/var/log/tomcat6/catalina.out 

oder etwas ähnliches

und überprüfen Sie die Protokolleigenschaften in

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

In der Regel ist / usr / share / tomcat6 / conf / ein symbolischer Link zu / etc / tomcat6 /.


/var/log/tomcat6/catalina.out existiert nicht und der Ordner / usr / share / tomcat6 / conf auch nicht. /etc/tomcat6/logging.properties legt nahe, dass $ {catalina.base} / logs das Verzeichnis ist, nach dem ich suche, aber wie gesagt, dort ist nichts geschrieben. Ho hum :(
gav

4

Sie sollten bei sein CATALINA_HOME/logs

Ich habe es am häufigsten gesehen /opt/tomcat/logs, aber in Ihrem Fall könnte es sein/usr/share/logs


1

Standardmäßig Tomcat - Protokolle sind in /var/log/tomcat?und /var/lib/tomcat7/logsin der Regel deuten auf dort.

Wie rootkönnen Sie sie überprüfen, indem Sie:

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

Wenn Sie immer noch Probleme haben, versuchen Sie, diese zu finden über:

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

-1

Wir können Protokolle wie unten für Windows finden. C: \ Programme \ Apache Software Foundation \ Tomcat 9.0 \ Protokolle

Siehe auch C: \ Programme \ Apache Software Foundation \ Tomcat 9.0 \ conf \ logging-properties.


2
Die Frage bezieht sich auf eine Linux-Installation (Ubuntu-spezifisch). Die Antwort, die Sie gaben, bezieht sich auf eine Windows-basierte Installation. Auch diese Frage hat bereits eine akzeptierte Antwort.
Corey S.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.