Перезагрузка конфигурации журнала в JBoss 6 AS - PullRequest
1 голос
/ 12 мая 2011

В настоящее время я пытаюсь настроить регистрацию в JBoss 6 и ищу разные альтернативы.Мои требования:

1) Автоматическая перезагрузка любых изменений конфигурации журнала без повторного развертывания приложения.

2) Несколько файлов журнала по одному для каждого уровня журнала.Например, один файл myApp-error.log, в котором записываются только сообщения об ошибках, myApp-debug.log, в котором регистрируются только сообщения отладки и т. Д. Это означает возможность установки минимального и максимального уровней для каждогоиз appenders / handlers, установленных для каждого файла.

Теперь я знаю, что могу использовать файл jboss-logging.xml, который поставляется с JBoss 6 AS.Я получаю автоматическую перезагрузку с помощью этого файла, поскольку он использует функцию горячего развертывания в JBoss (этот файл находится в каталоге развертывания).

Однако я не могу настроить свой журнал, чтобы установить максимальный уровень для каждого из обработчиков.Я могу установить минимальный уровень, но это означает, что, например, мой файл отладки получит отладку и все уровни выше.Не то, что мне нужно.

Другой вариант будет использовать внешний файл конфигурации.Например, log4j.xml.Это может быть достигнуто путем установки системного свойства, как указано здесь .Хорошо, так как я могу использовать фильтр org.apache.log4j.varia.LevelRangeFilter, чтобы ограничить максимальный и минимальный уровни журнала.Однако это не позволяет выполнить автоматическую перезагрузку конфигурации ведения журнала без повторного развертывания приложения.

Есть ли вероятность, что я смогу получить оба требования, используя JBoss 6 AS, будь то поставленная система ведения журнала или внешняя?

1 Ответ

1 голос
/ 13 мая 2011

1) Об автоматической перезагрузке .:
Вы должны иметь возможность периодически проверять файл log4j.xml на наличие изменений и, если он меняется, вызывать org.apache.log4j.xml.DOMConfigurator.configure ("<путь к log4j.xml>").

...