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

Tomcat 5.5: как перенаправить вывод журнала в один файл для каждого веб-приложения

Как настроить tomcat 5.5 (или 6.0) так, чтобы вывод stdout и stderr каждого веб-приложения / контекста попадал в один файл журнала?

Мне удалось получить stderr только в конкретном файле журнала - стандартный вывод приложений по-прежнему отправлялся на catalina.out.

Я нашел следующую информацию, думаю, это должно вам помочь.

Попробуй это,

  1. Каждое приложение должно использовать свой собственный log4j. Вы можете добиться этого, поместив log4j.jar в WEB-INF / lib каждого приложения.
  2. В каждом файле конфигурации log4j (расположение по умолчанию - WEB-INF / classes) укажите имя файла журнала, например log4j.appender.AppLog.File = $ {catalina.home} /logs/app1.log.
  3. Добавьте swallowOutput = "true" для каждого контекста, чтобы stdout, stderr переходили в ваш собственный журнал.

Мы делаем это на Tomcat 5.5, но я думаю, что он должен работать и на 6.0.

РЕДАКТИРОВАТЬ: Вот наш META-INF / context.xml,

WEB-INF / web.xml

http://tomcat.apache.org/tomcat-6.0-doc/logging.html

http://tomcat.apache.org/tomcat-5.5-doc/logging.html

Другой метод разделения вывода - запуск одного экземпляра tomcat для каждого веб-приложения. Таким образом, вы можете разделить не только журналы веб-приложений, но и другие файлы журналов, параметры JVM, запуск и остановку экземпляров и т. Д.

Вы найдете пошаговое руководство Вот.

stdout указывает на catalina.out в catalina.sh скрипт, это относится ко всему серверу Tomcat.

"$CATALINA_BASE"/logs/catalina.out 2>&1 &

Я знаю, что это не полный ответ - просто говорю, где искать.