Установка в любом месте, запущенном из ProcessBuilder, не может получить системное свойство log4.configuration

Я испытываю странное поведение. Я запускаю exe installanywhere из моего Java-класса, используя ProcessBuilder. Я передаю некоторые аргументы для JVM, как

lax.nl.java.option.additional=-Dvis.oldZoom=false -DSystemRoot="C:\Windows" -Dlog4j.configuration=file:"/location to log4.xml/" -DLOG4J_CONFIG_FILE=file:"/location to log4.xml/" -Dlog4j.debug=true

Последние три параметра для log4j и они моя проблема

У меня есть log4j банок в classpath

lax.class.path = другие файлы jar;log4j-1.2.17.jar

Но ничего не происходит, нет журнала и нет процесса Java. Чего здесь не хватает?

Обновите вместо этого

Последние три параметра для log4j и они моя проблема

На самом деле я пытался сказать, что они должны быть там, я это знаю. И я ожидаю, что логирование log4j будет хорошо настроено после включения этих параметров и jar-файлов, но проблема в том, что они (логи) не появляются.

1 ответ

lax.nl.java.option.additional в вашем файле lax должен определить это.

Можете ли вы "записать" в файл Lax, если они должны быть добавлены или удалены ad-hoc во время выполнения?

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

Другие вопросы по тегам