Нет catalina.out в macOS Sierra

Я установил Apache Tomcat 8.5.9 с помощью Homebrew на macOS Sierra. Когда я запускаю сервер Tomcat, catalina.out не создается, как ожидалось, в /usr/local/Cellar/tomcat/8.5.9/libexec/logs.

Я пытался:

  • Перенаправление файла журнала в другое место с помощью setenv.sh
  • echo "log file location $CATALINA_OUT" в /usr/local/Cellar/tomcat/8.5.9/bin/catalina, и для него установлено расположение по умолчанию libexec/logs/catalina.out. После этого изменения я вижу, что setenv.sh правильно изменяет это местоположение.
  • Создание вручную catalina.out в расположении по умолчанию и предоставление полных привилегий

Я вижу другие журналы, такие как:

  • каталина.[дата].log
  • хост-менеджер.[дата].log
  • менеджер.[дата].log
  • localhost_access_log.[дата].log

Сервер Tomcat работает нормально, так как я могу без проблем запускать свои файлы WAR и использовать свои приложения. Ни один из других журналов не указывает на проблему с созданием catalina.out, как я и ожидал.


person JeredM    schedule 04.01.2017    source источник
comment
Проверьте разрешения и владельца папки, в которой должен быть создан catalina.out.   -  person Nir Alfasi    schedule 04.01.2017
comment
Я установил их на 777 для проверки, но файл все еще не на месте. Кроме того, ps aux | grep tomcat показывает, что пользователь, запускающий процесс, является владельцем папки.   -  person JeredM    schedule 04.01.2017
comment
Возможный дубликат нет catalina.out   -  person Nir Alfasi    schedule 04.01.2017
comment
Я не думаю, что это дубликат, поскольку >> "$CATALINA_OUT" 2>&1 "&" находится в файле 8.5.9/bin/catalina. Решение catalina run > ..\logs\catalina.out 2<&1 тоже не сработало.   -  person JeredM    schedule 04.01.2017
comment
прочитайте все ответы, пожалуйста, есть один, который, я подозреваю, имеет отношение к вашему делу   -  person Nir Alfasi    schedule 04.01.2017
comment
Не могли бы вы уточнить, какой ответ, по вашему мнению, решает мою проблему? Похоже, что ОП в этом вопросе сдался, поскольку предложенные решения не работали и использовали другую установку в Windows.   -  person JeredM    schedule 04.01.2017
comment
попробуйте это: stackoverflow.com/a/3491653/1057429   -  person Nir Alfasi    schedule 04.01.2017
comment
Спасибо. Я попытался сгенерировать ошибку в своем приложении. Ошибка регистрируется в моей консоли, но catalina.out не создается.   -  person JeredM    schedule 04.01.2017


Ответы (1)


Кажется, что Homebrew перенаправляет stdout/stderr, который переопределяет конфигурацию, предоставленную Tomcat, и по умолчанию конфигурация для установки Tomcat в Homebrew не определяет файл для регистрации стандартного вывода и ошибок. Вы можете изменить это, изменив файл .plist для Tomcat.

Найдите файл .plist в базовом каталоге установки Tomcat. Для меня установка была расположена в /usr/local/Cellar/tomcat@8/8.5.51, но она может отличаться в зависимости от версии Tomcat. В этом каталоге должен быть файл с именем, похожим на [email protected]. Отредактируйте этот файл и добавьте следующие строки в элемент ‹dict›:

  <key>StandardOutputPath</key>
  <string>/path/to/catalina.out</string>
  <key>StandardErrorPath</key>
  <string>/path/to/catalina.out</string>

Будьте осторожны, чтобы не вставлять строки между любыми существующими парами ключ-значение.

Я решил использовать путь catalina.out, созданный Tomcat по умолчанию, который для меня будет /usr/local/Cellar/tomcat@8/8.5.51/libexec/logs/catalina.out.

person heisbrandon    schedule 26.02.2020