Где мои журналы Tomcat?

26

Я установил Tomcat6 на сервер Ubuntu 9.04, используя apt-get install tomcat6. Я загрузил WAR-файл, используя интерфейс менеджера, и попытался запустить приложение, но получил довольно общую ошибку в веб-интерфейсе, говорящую о том, что она не может быть запущена.

Я пытаюсь найти логи, чтобы определить, почему моя война не начнется (я подозреваю, что недостаточно памяти, поскольку я использую небольшой VPS), но я не знаю, где они находятся.

/ var / lib / tomcat6 / logs пуст. Моя заставка Tomcat достоверно информирует меня о следующем;

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.

ОБНОВИТЬ

Я пытался бежать;

$ 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

Но в / var / log / syslog ничего нет

Также работает

$ losof -p PID

не показывать файлы журналов ...

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

Благодарность,

Гав

гав
источник

Ответы:

5

Очень поздно к этому обсуждению, но кажется, что файл 03catalina.policy в tomcat5.5 и tomcat6 фактически не разрешает запись в лог-файлы.

Самое простое решение - изменить разрешения JULI на:

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

Очевидно, что могут быть проблемы безопасности, о которых я не знаю, но я действительно не могу потрудиться копать глубже - я потратил слишком много времени на это сам.

Прорицание
источник
Спасибо за обновление, я никогда не получал это сам, и теперь, когда VPS мертв. Для меня имеет смысл, что журналы не записывались, потому что я никогда не видел открытой ручки при запуске сервера.
Гав
34

Удобный трюк - запустить команду " lsof -p PID", где PID - это идентификатор процесса вашего сервера Tomcat. Эта команда выдаст вам список всех файлов, открытых процессом, включая файл журнала. Смотрите страницу Википедии .

кендырь
источник
Это потрясающий совет! К сожалению, ни один из моих процессов не имеет файла журнала ... не уверен, что это значит.
Гав
2
Это может означать, что процесс не может открыть файл журнала. В консоли / STDOUT должно быть зарегистрировано несколько ошибок. Если вы используете Linux, вы можете попробоватьfor PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Мирча Vutcovici
Использование apt-get для установки Tomcat означает, что он настроен для запуска в качестве демона с использованием jsvc. Просто требуется изменить в вашей команде (java -> jsvc). Фрагмент вернул вывод в нижней части моего вопроса (форматирование комментария не читается).
Гав
19

По умолчанию проверка

/var/log/tomcat6/catalina.out 

или что-то типа того

и проверьте свойства ведения журнала в

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

обычно / usr / share / tomcat6 / conf / является символической ссылкой на / etc / tomcat6 /

Lanselot
источник
/var/log/tomcat6/catalina.out не существует, равно как и папка / usr / share / tomcat6 / conf. /etc/tomcat6/logging.properties предполагает, что $ {catalina.base} / logs - это каталог, который я ищу, но, как я уже сказал, там ничего не написано. Хо гул :(
Гав
4

Они должны быть в CATALINA_HOME/logs

Я видел это чаще всего в /opt/tomcat/logs, но в вашем случае это может быть/usr/share/logs

Bozho
источник
1

По умолчанию журналы Tomcat включены /var/log/tomcat?и /var/lib/tomcat7/logsобычно указывают на них.

Как rootвы можете проверить их:

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

Если у вас все еще есть проблемы, попробуйте найти их через:

sudo lsof | grep -E "java.*(out|txt|log)$"
kenorb
источник
-1

мы можем найти журналы, как показано ниже для Windows. C: \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ logs

также обратитесь к C: \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ conf \ logging-properties.

Sudheer N
источник
2
Вопрос, который был опубликован, относится к установке Linux (в частности, Ubuntu). Ответ вы дали для установки на основе Windows. Также на этот вопрос уже есть принятый ответ.
Кори С.