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

Где разместить log4j.xml

Как мы можем указать, должен ли log4j искать при попытке найти свой файл конфигурации xml?

Похоже, что по умолчанию log4j смотрит в корень папки класса, я могу сказать, что с помощью функции debug log4j и запуска моего приложения из среды IDE.

Однако у меня больше нет папки классов в моем банке. Файл log4j.xml находится в корневом банке.

Я уже пытался установить параметр -Dlog4j.configuration = log4j.xml, но он не работает.

Вот глобальная структура моего приложения на данный момент:

  • com
  • Lib
  • META-INF
  • log4j.xml
4b9b3361

Ответ 1

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

От http://wiki.apache.org/logging-log4j/Log4jConfigurationHelp

Если вы используете "-Dlog4j.debug", тогда log4j выведет информацию на стандартный вывод о том, как он пытается настроить себя. Просматривая это расскажет вам, где он ищет файл конфигурации.

Ответ 2

Предположим, что ваша конфигурация log4j находится за пределами исходного дерева. Если он не может найти ваш файл конфигурации, помогите ему:

-Dlog4j.configuration=file:///your/path/log4j.xml

Обратите внимание на квалификатор файл:///. Это не сработает.

Ответ 3

У меня нет ошибок

Итак, log4j находит вашу конфигурацию, иначе вы получите:

log4j: WARN Для журнала() не найдено никаких добавлений.
log4j: WARN Пожалуйста, правильно инициализируйте систему log4j.

также:

Журнал распечатывается только на консоли

Итак, это означает, что вам, вероятно, нужно определить файл-приложение, например FileAppender или RollingFileAppender. В разделе "Конфигурация" краткое введение есть несколько примеров.

Ответ 4

Вы можете использовать:

DOMConfigurator.configure(log4jConfigurationFilename);

и укажите местоположение, если оно отличается от корня!

Ответ 5

Не беспокойтесь о том, куда его поместить. Просто запустите свой проект, скажем, в eclipse, log4j выкинет исключение, сообщив вам, где он выглядит. Тогда вы можете положить его туда.

Как только вы его заработаете, вы также поймете, как изменить это, поскольку вы понимаете логику.