Ведение журнала с несколькими веб-приложениями - PullRequest
2 голосов
/ 22 апреля 2011

Нам нужно разместить несколько веб-приложений в кластерной среде Glassfish. Logback - это структура ведения журнала, используемая веб-приложениями Изменение конфигурации ведения журнала (например, для уровней ведения журнала) - это вопрос, по которому я хотел бы получить некоторые экспертные мнения и предложения.

В настоящее время мы поместили файлы конфигурации logback в отдельные файлы war по нескольким причинам

  1. Размещение logback.xml вне файла war вручную добавляет дополнительную задачу в программу установки / обновления.
  2. Любые изменения, внесенные в файл конфигурации в будущих версиях веб-приложения, должны были бы заботиться об обновлении программного обеспечения. Любой, например такой модификации может быть принятие местоположения файла журнала в качестве свойства JNDI. Количество веб-приложений усложняет задачу.

Недостаток размещения файла конфигурации на войне состоит в том, что он затрудняет внесение каких-либо изменений. Например, добавление новых регистраторов или изменение уровня журнала. JMX - это альтернатива, поддерживаемая logback, но я вижу две проблемы с ней

  1. Любые изменения, сделанные через JMX, не могут быть сохранены. Любой перезапуск сервера потеряет настроенные изменения.
  2. Поддержка JMX, предоставляемая logback, не позволяет добавлять новые приложения, например, для новый файл appender

Буду признателен, если вы предоставите какие-либо предложения о размещении файлов конфигурации logback или проблемах JMX, о которых я упоминал выше.

1 Ответ

0 голосов
/ 05 ноября 2011

Мы столкнулись с похожими проблемами и должны были решить другие механизмы регистрации - это может быть неприятно с неприятными компромиссами. Я только начинаю использовать LogBack, но, насколько я понимаю, он допускает подстановку переменных в файле конфигурации (http://logback.qos.ch/manual/joran.html#variableSubstitution).. Я планирую использовать эту возможность для маршрутизации журналов по мере необходимости с использованием системных свойств, как показано в связанном пример.

Что касается JMX, согласился. Мы широко используем JMX для мониторинга и внесения временных изменений во внутреннюю конфигурацию, когда этого требуют условия, но JMX не является отличным выбором для внесения постоянных изменений; по крайней мере, те должны пройти процесс контроля изменений.

Моя рекомендация: изучить метод подстановки переменных и использовать JMX для временных корректировок во время выполнения.

...