Куда поместить log4j.xml

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

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

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

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

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

  • com
  • lib
  • meta-inf
  • log4j.xml
37
задан ROMANIA_engineer 21 September 2015 в 13:50
поделиться

2 ответа

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

Из http://wiki.apache.org/logging-log4j/Log4jConfigurationHelp

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

34
ответ дан 27 November 2019 в 04:43
поделиться

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

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

log4j:WARN No appenders could be found for logger ().
log4j:WARN Пожалуйста, инициализируйте систему log4j должным образом.

Также:

Лог просто выводится на консоль

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

5
ответ дан 27 November 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: