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

как настроить другой журнал catalina.out для каждой развернутой WAR на tomcat

У меня запущен экземпляр tomcat 8.5 с несколькими развернутыми WAR, каждый из которых записывает свой внутренний вывод через System.out утешить.

Теперь tomcat объединяет все эти выходные данные журнала в один файл: catalina.out, но я хотел бы их разделить. Можно ли настроить свойства ведения журнала tomcat для создания разных catalina.out для каждой WAR-базы, например

...

Спасибо Том

поместите swallowOutput в свой context.xml

<Context swallowOutput="true">
...
</Context>

и добавьте отдельный файл logging.properties в каждое из ваших веб-приложений / войн в позиции

/WEB-INF/classes/logging.properties

Вы можете поместить этот файл также в исходную папку, если ваша WAR сгенерирована, например по затмению

/src/logging.properties

Logging.properties может иметь следующее содержимое

  handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = webapp_name.

java.util.logging.ConsoleHandler.level = FINE

java.util.logging.ConsoleHandler.formatter = java.util.logging.OneLineFormatter

и вы можете определить префикс имени для каждого отдельного журнала веб-приложений с помощью org.apache.juli.FileHandler.prefix

Если вы добавите для app1 и app2 в WEB-INF/classes файл как log4j.properties и поместите внутрь что-то вроде:

log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern='.'dd-MM-yyyy
log4j.appender.logfile.File=${catalina.base}/logs/app1.log

(изменить имя файла для второго приложения)

у вас будет в файлах app1.log и app2.log вывод tomcat для конкретного приложения