Как использовать log4j в Eclipse RCP? - PullRequest
7 голосов
/ 03 ноября 2011

Как использовать log4j logging API в проекте Eclipse RCP?

В качестве обходного пути U попытался создать новый OSGI Bundle, в котором есть jar-файлы log4j, ниже приведена структура пакета:

log4j an external plugin

Я создал базовое RCP-приложение с представлением (шаблон) с именем loggingtest . Я включил комплект log4j на вкладку зависимостей в loggingtest project. В методе запуска Activator я поместил следующий код

Logger logger = Logger.getLogger(Activator.class);
logger.info("Info starting");
logger.warn("Warning starting");
logger.error("Error starting");

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

чтобы быть более точным ниже, это содержимое моего файла манифеста проекта loggingtest

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LoggingTest
Bundle-SymbolicName: LoggingTest; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: loggingtest.Activator
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime,
 log4j;bundle-version="1.0.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

Ответы [ 3 ]

5 голосов
/ 03 ноября 2011

Существует публикация инструкции по настройке Log4J в среде OSGi. Также рассмотрите возможность использования Pax Logging при работе с OSGi.

3 голосов
/ 03 ноября 2011

я использую log4j с моим RCP-приложением
вот что вы должны сделать: просто удалите плагин log4j (вы можете получить версию osgified из репозитория Spring Bundle), а затем перетащите его в папку dropinвашей установки Eclipse.
Затем вы должны добавить этот плагин в качестве зависимости вашего приложения и класса Activator, сделать следующее:
URL confURL = getBundle().getEntry("log4j.properties"); PropertyConfigurator.configure(FileLocator.toFileURL(confURL).getFile());

и удалить это 'log4j.properties'в корневой папке вашего приложения
извините за мой английский

0 голосов
/ 10 февраля 2016
  1. Добавьте log4j.jar в свой проект.
  2. Добавить ссылку в MANIFEST.MF. Require-Bundle: org.apache.log4j;bundle-version="1.2.15"
  3. Добавьте ссылку в build.properties.

bin.includes = plugin.xml,\ META-INF/,\ .,\ lib/log4j-1.2.17.jar

  1. Используйте регистратор в файлах .java.

PropertyConfigurator.configure(log4jConfPath); LOGGER.debug("STARTING APPLICATION ..");

Я нашел этот урок полезным. Пожалуйста, проверьте - Добавить log4j в приложение RCP

...