Подтвердить что ты не робот

Зачем выбирать XML файлы свойств для конфигурации Log4J?

Есть ли причины использовать XML файлы свойств для конфигурации Log4J?

4b9b3361

Ответ 1

Там интересная дискуссия о достоинствах обоих в этом блоге. Ниже приведена цитата из этого блога:

Свойства могут быть определены файлом свойств или файлом XML. Log4j ищет файл с именем log4j.xml, а затем для файла с именем log4j.properties. Оба должны быть помещены в папку src.

Файл свойства менее подробный, чем файл XML. XML требует, чтобы log4j.dtd был помещен в исходную папку. XML требует dom4j.jar, который не может быть включен в старые версии Java.

Файл свойств не поддерживает некоторые дополнительные параметры конфигурации, такие как фильтры, пользовательские ErrorHandlers и специальный тип добавок, то есть AsyncAppender. ErrorHandlers определяет, как обрабатываются ошибки в log4j, например плохо настроенные приложения. Фильтры более интересны. Из доступных фильтров я считаю, что фильтр свойств уровня действительно отсутствует для файлов свойств.

Этот фильтр позволяет определить, что [n] appender должен получать сообщения журнала с уровня INFO до WARN. Это позволяет разделить лог-сообщения на разные лог файлы. Один для сообщений DEBUGGING, другой для предупреждений,...

Свойство appender поддерживает только минимальный уровень. Если вы установите его в INFO, вы также получите сообщения WARN, ERROR и FATAL.


Чтобы ответить на комментарии по моему первоначальному ответу: курсив мой. Для целей учебника автор решил замалчивать или непреднамеренно пропустить, что свойства или xml должны быть только в пути к классам, а не в папке src. Простой способ добавить их в путь к классам состоит в том, чтобы добавить их в папку src, поэтому в целях учебника, который явно считался достаточным.

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

Ответ 2

log4j постепенно переходит в XML, поэтому свойства являются устаревшим форматом.

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

Однако XML настолько подробен. Я все еще использую свойства, когда могу.

Ответ 3

Ну, одна вещь, которую вы можете сделать только в xml-конфигурации, - это настроить регистратор для использования буферизации (используя org.apache.log4j.AsyncAppender).

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

Ответ 4

Perf4j (http://perf4j.codehaus.org) - очень хорошая система мониторинга производительности, которая настроена рядом с log4j и работает совместно с ней и требует файлы log4j.xml.
Итак, если вы планируете использовать perf4j (я бы рекомендовал), тогда требуется XML-формат.