Моя процедура использования log4j является этим:
Это корректно? Что происходит, если модуль инициализации не определяется? Куда я могу поместить "log4j.properties" файл, таким образом, что я не должен вызывать propertyconfigurator.configure вообще? Если это не возможно, это в порядке для вызова PropertyConfigurator.configure ("path_to_file") в каждом методе, который использует регистратор?
Если вы поместите его где-нибудь в пути к классам, Log4J автоматически загрузит его. Типичное место для этого - корневая директория источника (или ресурса). Таким образом, он также может быть скопирован в корневой каталог вашего jar-файла (если вы создадите его из своих файлов классов).
Точные детали для этого зависят от того, какую систему сборки вы используете. Например. в Maven принято помещать его в src / main / resources
.
Процедура инициализации по умолчанию для log4j задокументирована в этом разделе руководства по log4j. Это подробно объясняет шаги, которые log4j предпринимает, чтобы найти конфигурацию ведения журнала.
Самый простой способ настроить log4j - поместить файл свойств где-нибудь, что позволит загрузчику классов найти его по имени «/log4j.properties». Существуют и другие подходы, которые вы также можете использовать, которые включают установку свойств системы, программную загрузку файла свойств или даже создание экземпляров средств ведения журнала, приложений и т. Д. Через API log4j. (Не то чтобы последнее было хорошей идеей ...)
(Помещение файла свойств log4j в "src / main / resources" в проекте Maven - это лишь один из множества возможных способов поместить файл в корневой каталог пути к классам вашего приложения.)