Укажите расположение конфигурации внешней регистрации для определенных веб-приложений с помощью Tomcat 8 - PullRequest
0 голосов
/ 24 апреля 2018

Я ограничен в использовании Tomcat 8, и мне нужно развернуть несколько веб-приложений на основе весенней загрузки на одном и том же Tomcat.

Я пытаюсь избежать создания артефакта с его собственной конфигурацией ведения журнала, включенной вфайл войны.

Используя системное свойство -Dlogging.conf, можно указать файл logback.xml для одного приложения.Однако добавление -Dlogging.conf в setenv.sh указывает одинаковую конфигурацию журналирования для каждого веб-приложения, развернутого в Tomcat.

Существует ли разумный способ обработки внешних конфигураций журналирования с использованием Tomcat?

1 Ответ

0 голосов
/ 25 апреля 2018

Задание конфигураций внешних журналов можно выполнить с помощью контекста.

Существует несколько способов определения контекстов. Хорошее резюме дано в следующем ответе: https://stackoverflow.com/a/26126563/809043

Теперь я сохраняю файл контекста для каждого веб-приложения под:

.../tomcat/conf/Catalina/localhost/APP-NAME.xml 

где app-name - это развернутое имя веб-приложения.

Контекст указывает на папку ресурсов, содержащую конфигурацию logback.xml. Затем указанная папка ресурса становится доступной для веб-приложения, как если бы она находилась в / WEB-INF / classes /

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

<?xml version="1.0" encoding="UTF-8"?>

<Context path="/APP-NAME">
    <Resources className="org.apache.catalina.webresources.StandardRoot">
        <PreResources  className="org.apache.catalina.webresources.DirResourceSet"
            base="/path/to/logging/config/folder"
            internalPath="/"
            webAppMount="/WEB-INF/classes" />
    </Resources>
</Context>
...