конфигурация log4j через аргумент (ы) JVM? - PullRequest
121 голосов
/ 22 апреля 2009

Какие переменные мне нужно установить / передать в качестве аргументов JVM для правильной работы log4j? И правильно я имею в виду не пожаловаться и распечатать на консоли. Могу ли я увидеть типичный пример?

Примечание. Мне нужно избегать создания файла log4j.properties в приложении.

Ответы [ 7 ]

156 голосов
/ 28 октября 2011

Решение использует следующий аргумент JVM:

-Dlog4j.configuration={path to file}

Если файл НЕ находится в classpath (в WEB-INF/classes в случае Tomcat), но где-то на вашем диске, используйте file:, например

-Dlog4j.configuration=file:C:\Users\me\log4j.xml

Больше информации и примеров здесь: http://logging.apache.org/log4j/1.2/manual.html

148 голосов
/ 23 апреля 2009

У вас есть файл конфигурации log4j? Просто сослаться на это, используя

-Dlog4j.configuration={path to file}

где {путь к файлу} должен начинаться с file:

24 голосов
/ 30 ноября 2015

Кажется, это изменилось (возможно, с log4j2) на:

-Dlog4j.configurationFile=file:C:\Users\me\log4j.xml

См .: https://logging.apache.org/log4j/2.x/manual/configuration.html

20 голосов
/ 15 февраля 2010

Я знаю, что на этот вопрос уже есть ответ, но поскольку вы сказали, что это не совсем то, что вы ищете, я хотел бы указать на следующую альтернативу:

Вы также можете использовать класс конфигурации вместо свойств или файла XML.

-Dlog4j.configuratorClass=com.foo.BarConfigurator

Подробнее см. http://logging.apache.org/log4j/1.2/manual.html.

11 голосов
/ 23 апреля 2009

Как правило, если ваш файл log4j.properties находится в пути к классам, Log4j должен просто автоматически поднять его при запуске JVM.

7 голосов
/ 02 ноября 2017

Поздно к вечеринке, начиная с 2015 года, Log4J 1.x достиг EOL .

Log4J 2.x и далее опция JVM должна быть -Dlog4j.configurationFile=<filename>


P.S. <filename> может быть файлом относительно пути к классу без file:, как предлагается в других ответах.

0 голосов
/ 26 июля 2018

Относительный путь тоже в порядке:

java -Dlog4j.configuration=file:".\log4j.properties" -jar com.your-1.0-SNAPSHOT.jar

или

java -Dlog4j.configuration=file:".\log4j.xml" -jar com.your-1.0-SNAPSHOT.jar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...