Назад | Перейти на главную страницу

Где находится catalina.out в Tomcat 9?

Я недавно развернул tomcat 9 и хотел бы проверить журнал catalina.out во время его работы, однако я заметил, что при остановке он сбрасывает выходные данные журнала в файл catalina. [Date] .txt. Нужно ли выполнить какие-то дополнительные настройки, чтобы включить ведение журнала в реальном времени на catalina.out?

По умолчанию, по крайней мере, в Linux каждая версия Tomcat, о которой я знаю, записывает журнал консоли $TOMCAT_HOME/logs/catalina.out или если определено $CATALINA_OUT, в имени файла внутри этой переменной.

На самом деле это делается из сценариев запуска, вот относительная часть сценария запуска из Tomcat 9.0.0.M13, но другие версии делают то же самое, файл: $TOMCAT_HOME/bin/startup.sh который вызывает catalina.sh :

startup.sh:

#!/bin/sh 

[...]

PRGDIR=`dirname "$PRG"`
EXECUTABLE=catalina.sh

[...]

exec "$PRGDIR"/"$EXECUTABLE" start "$@"

catalina.sh:

#!/bin/sh

[...]

#   CATALINA_OUT    (Optional) Full path to a file where stdout and stderr
#                   will be redirected.
#                   Default is $CATALINA_BASE/logs/catalina.out

[...]

if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

[...]

elif [ "$1" = "start" ] ; then

[...]

    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -classpath "\"$CLASSPATH\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
       org.apache.catalina.startup.Bootstrap "$@" start \
       >> "$CATALINA_OUT" 2>&1 "&"



Итак, либо вы где-то устанавливаете эту переменную, либо запускаете tomcat без использования стартовых скриптов.

Ubuntu 18.04 и 20.04 теперь используют systemd и регистрируются в журнале. Чтобы изменить это, сделайте следующее:

Отредактируйте файл: /lib/systemd/system/tomcat9.service

Закомментируйте строку: SyslogIdentifier=tomcat9

и добавьте эти две строки:

StandardOutput=append:/var/log/tomcat9/catalina.out
StandardError=append:/var/log/tomcat9/catalina.out