Обзор конфигурации log4j

#java #log4j

#java #log4j

Вопрос:

Я довольно смущен тем, как настроить Log4j, я подобрал следующие фрагменты, но что-то написанное, объединяющее эти концепции, было бы полезно.

  • Log4j ищет свойства / XML-файлы в пути к классу
  • Вы можете предоставить свой собственный файл с помощью PropertyConfigurator.configure(filename) — что, если вы вызовете это дважды. Эффективно ли объединены файлы или используется только последний.
  • Вы можете указать явный файл, используя -D в командной строке

Я хочу иметь возможность

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

Комментарии:

1. Вы смотрели учебник ?

2. Не знаю, читает ли Log4j другие конфигурации, но, возможно, этот метод поможет вам реализовать его: logging.apache.org/log4j/1.2/apidocs/org/apache/log4j /…

Ответ №1:

Согласно этой документации

Существующая конфигурация не очищается и не сбрасывается.

log4j сам останавливается на первом log4j.properties, который он находит.

Итак, когда вы вызываете configure , я предполагаю, что:

  • если какая-то конфигурация уже выполнена, то текущая будет объединена.
  • если настройка не была выполнена, log4j не будет пытаться прочитать какой-либо другой log4j.properties

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