Как упаковать файл конфигурации log4j в приложение NetBeans Platorm? - PullRequest
1 голос
/ 11 ноября 2011

Упаковка файла конфигурации log4j в приложении на платформе NetBeans, очевидно, требует некоторого обдумывания. Это то, что я пытался ...

Я поместил log4j.xml в src / main / resources / my / package / log4j.xml файла some_netbeans_module. Пакет является пакетом общедоступного модуля (то есть классы из этого пакета используются из других пакетов). Я перестроил модуль и подтвердил, что файл действительно упакован в модуль.

В моих классах я получаю экземпляр журнала, как всегда:

static final Logger log = Logger.getLogger(ThisClass.class);

В каждом приложении на платформе NetBeans есть файл my_app.conf, который позволяет устанавливать определенные свойства. Вот где я установил log4j.conf:

log4j.configuration="/my/package/log4j.xml"

Теперь, когда я запускаю приложение, я вижу следующий вывод:

[INFO] /home/me/my_app/application/target/my_app/bin/../etc/my_app.conf: 5:
log4j.configuration=/my/package/log4j.xml: not found

Что не так с вышеуказанной конфигурацией?

1 Ответ

2 голосов
/ 11 ноября 2011

В файле my_app.conf, если вы добавите свойство log4j.configuration к свойству default_options, например, так:

default_options="...<other options> -J-Dlog4j.configuration=my/package/log4j.xml"

, тогда эта опция будет передана в JVM.Обратите внимание, что к свойству log4j добавлено -J-D.-J используется NetBeans для определения свойств JVM, а -D используется JVM для определения системного свойства .

Также вы можете / должны отбрасывать кавычки иначальный /, поскольку кавычки не нужны, и NetBeans будет жаловаться, если у вас есть начальный /

Другой способ сделать это, и способ, который я предпочитаю, так как он не требует редактирования .conf файл, для помещения файла log4j.xml в пакет по умолчанию.Если у вас есть другие требования, которые не позволяют вам сделать это, помните, что вы должны поместить свойство log4j.configuration в файл platform.properties приложения, когда вы находитесь в режиме разработки и запускаете приложение внутри IDE.Например:

run.args.extra=-J-Dlog4j.configuration=my/package/log4j.xml

Редактировать: По вопросам, связанным с платформой NetBeans, возможно, вам больше повезет, если вы отправите сообщение на форум Пользователи платформы NetBeans .

...