Ответ 1
Существует несколько способов переопределить log4j.properties, один из которых:
- Используйте log4j.xml , см. расширение
Другой подход:
- Установка системного свойства log4j.defaultInitOverride для любого другого значения то "false" приведет к тому, что log4j пропустит процедуру инициализации по умолчанию (эта процедура).
- Задайте переменную строки ресурса значению свойства системы log4j.configuration. Предпочтительный способ указать файл инициализации по умолчанию - это свойство системы log4j.configuration. Если системное свойство log4j.configuration не определено, установите для параметра string variable resource значение по умолчанию "log4j.properties".
- Попытка конвертировать переменную ресурса в URL-адрес.
- Если переменная ресурса не может быть преобразована в URL-адрес, например, из-за ошибки MalformedURLException, выполните поиск ресурса из пути к классам, вызвав org.apache.log4j.helpers.Loader.getResource(resource, Logger.class), который возвращает URL-адрес. Обратите внимание, что строка "log4j.properties" представляет собой неверный URL. См. Loader.getResource(java.lang.String) для списка найденных местоположений.
- Если URL-адрес не найден, прекратите инициализацию по умолчанию. В противном случае настройте log4j из URL-адреса. PropertyConfigurator будет использоваться для анализа URL-адреса для настройки log4j, если URL-адрес не заканчивается расширением ".xml", и в этом случае будет использоваться DOMConfigurator. Вы можете необязательно указать настраиваемый конфигуратор. Значение свойства log4j.configuratorClass берется как полное имя класса вашего настраиваемого конфигуратора. Пользовательский настраиваемый конфигуратор должен реализовывать интерфейс Configurator.