настройка log4j в кластерной среде - PullRequest
0 голосов
/ 01 июля 2010

Мы используем log4j для функции регистрации.Приложение работает в кластерной среде.Как настроить свойства log4j таким образом, чтобы все экземпляры регистрировали в одном и том же файле журнала?

1 Ответ

0 голосов
/ 28 октября 2010

Одним из решений является наличие каталога, предназначенного для ведения журнала. Этот каталог может находиться в общей сетевой папке (NFS и т. Д.), Которая смонтирована в месте, одинаковом для обоих процессов. Это может быть так же просто, как монтирование на идентичное место в файловой структуре, или это можно сделать с помощью переменных среды ($ LOGDIR), чтобы каждый хост мог указывать на свое местоположение в своей локальной файловой структуре.

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

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

...