Gdzie są moje dzienniki Tomcat?

26

Zainstalowałem Tomcat6 na serwerze Ubuntu 9.04 za pomocą apt-get install tomcat6. Przesłałem WAR za pomocą interfejsu menedżera i próbowałem uruchomić aplikację, ale otrzymałem dość ogólny błąd w interfejsie internetowym, mówiąc, że nie można go uruchomić.

Próbuję znaleźć dzienniki, aby ustalić, dlaczego moja wojna się nie rozpocznie (podejrzewam, że mam mało pamięci, ponieważ mam mały VPS), ale nie wiem, gdzie się znajdują.

/ var / lib / tomcat6 / logs jest pusty. Moja strona startowa Tomcat niezawodnie informuje mnie o następujących kwestiach;

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.

AKTUALIZACJA

Próbowałem biegać;

$ 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

Ale nie ma nic w / var / log / syslog

Również biegam

$ losof -p PID

nie pokazał żadnych plików dziennika ...

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

Dzięki,

Gav

gav
źródło

Odpowiedzi:

5

Bardzo późno na tę dyskusję, ale wygląda na to, że plik 03catalina.policy zarówno w tomcat5.5, jak i tomcat6 nie pozwala na zapisywanie plików dziennika.

Najprostszym rozwiązaniem jest zmiana uprawnień JULI na:

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

Oczywiście mogą istnieć problemy z bezpieczeństwem, których nie jestem świadomy, ale tak naprawdę nie mogę sobie pozwolić na głębsze kopanie - sam spędziłem na tym zbyt długo.

Auspex
źródło
Dzięki za aktualizację, sam nigdy tego nie działałem, a teraz, gdy VPS nie żyje. Ma dla mnie sens, że dzienniki nie były zapisywane, ponieważ nigdy nie widziałem otwartego uchwytu podczas uruchamiania serwera.
gav
34

Świetną sztuczką jest uruchomienie polecenia „ lsof -p PID”, gdzie PID jest identyfikatorem procesu twojego serwera tomcat. To polecenie wyświetli listę wszystkich plików otwartych przez proces, w tym plik dziennika. Zobacz stronę Wikipedii .

dogbane
źródło
To niesamowita wskazówka! Niestety żaden z moich procesów nie przechowuje pliku dziennika ... nie jestem pewien, co to oznacza.
gav
2
Może to oznaczać, że proces nie może otworzyć pliku dziennika. Powinieneś mieć zarejestrowane błędy w konsoli / STDOUT. Jeśli używasz Linuksa, możesz spróbowaćfor PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici
Użycie apt-get do zainstalowania Tomcat oznacza, że ​​jest skonfigurowany do działania jako demon przy użyciu jsvc. Wymagana tylko zmiana polecenia w (java -> jsvc). Fragment zwrócił wynik na dole mojego pytania (formatowanie komentarza jest nieczytelne).
gav
19

Domyślnie sprawdź

/var/log/tomcat6/catalina.out 

czy jakoś tak

i sprawdź właściwości rejestrowania w

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

zwykle / usr / share / tomcat6 / conf / to symboliczny link do / etc / tomcat6 /

Lanselot
źródło
/var/log/tomcat6/catalina.out nie istnieje, podobnie jak folder / usr / share / tomcat6 / conf. /etc/tomcat6/logging.properties sugeruje, że $ {catalina.base} / logs to katalog, którego szukam, ale jak powiedziałem, nic tam nie jest napisane. Ho hum :(
gav
4

Powinny być na CATALINA_HOME/logs

Widziałem to najczęściej w /opt/tomcat/logs, ale w twoim przypadku może tak być/usr/share/logs

Bozho
źródło
1

Domyślnie dzienniki Tomcat są włączone /var/log/tomcat?i /var/lib/tomcat7/logszwykle tam wskazują.

Ponieważ rootmożesz je sprawdzić:

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

Jeśli nadal masz jakieś problemy, spróbuj je znaleźć:

sudo lsof | grep -E "java.*(out|txt|log)$"
kenorb
źródło
-1

możemy znaleźć dzienniki jak poniżej dla systemu Windows. C: \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ logs

patrz także C: \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ conf \ Logowanie-właściwości.

Sudheer N.
źródło
2
Pytanie, które zostało opublikowane, dotyczy instalacji Linux (szczególnie Ubuntu). Podana odpowiedź dotyczy instalacji w systemie Windows. Również to pytanie ma już zaakceptowaną odpowiedź.
Corey S.