файл журнала не создается при доступе к банке с поддержкой log4j

У меня есть x.jar, который используется каким-то клиентом y.jar. И x.jar, и y.jar, и log4j.xml находятся на одном уровне пакетов.

Но файл журнала никогда не создается. Могу я узнать почему?

Я также пробовал несколько других вариантов, но до сих пор не повезло.

1) я добавил log4j-1.2.16.jar в ClassPath: переменную в файлах манифеста как x.jar, так и y.jar.

2) Поместите log4j.xml на уровень класса y.jar, который фактически вызывает классы x.jar.

структура пакета следующая:

x.jar

--manifest.mf имеет запись ClassPath:log4j-1.2.16.jar

y.jar --manifest.mf имеет запись ClassPath:log4j-1.2.16.jar

log4j-1.2.16.jar

log4j.xml -- имеет RollingFileAppender.

Может ли кто-нибудь предложить, не пропустил ли я что-нибудь?

Спасибо,

Навин Гаримелла.


person naveen garimella    schedule 23.05.2010    source источник


Ответы (2)


Вам необходимо объявить путь к файлу конфигурации log4j с помощью свойства java -Dlog4j.configuration=pathToYourLog4jConfigFile при запуске JAR-файла:

java -jar -Dlog4j.configuration=file:log4j.xml my.package.MyClass

Вы также можете попытаться избежать этого, используя то, что объяснено здесь:

http://blog.blip.tv/blog/2005/07/24/log4jxml-inside-your-jar/

person Laurent    schedule 23.05.2010

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

person Yishai    schedule 23.05.2010