Регистрация OSGi с удлинителем Spring-DM не ведется
Моя установка: я могу создать простой OSGi-пакет с Log4J в качестве моей инфраструктуры ведения журналов, и при развертывании в моем контейнере OSGi (Equinox) он отлично работает, моя регистрация очень просто настраивается с помощью отдельного фрагмента пакета, который настраивает мою регистрацию. Эта настройка не включает в себя пружину, и она работает очень хорошо.
Моя проблема: я преобразовываю весеннее приложение, которое использует log4j в качестве своей среды ведения журналов, в OSGi, первым этапом было создание различных пакетов для моего весеннего приложения, которое я сейчас завершил. У меня проблема в том, что пакет фрагментов журналирования OSGi, который работал с приложениями, не поддерживающими Spring, не конфигурирует мои пакеты с поддержкой Spring.
Я знаю, что пакеты активны, так как system.out.println работает, но все мои настройки не работают. Я ничего не вижу в консоли. Я вижу много весенних выводов, подтверждающих, что мои сервисы комплектов выставлены, но не ведут журналирование.
Любые предложения приветствуются.
1 ответ
У меня это сейчас исправлено, это заняло у меня мужество за день, поэтому я надеюсь, что когда-нибудь это кому-нибудь поможет.
Я нашел статью Как использовать Pax Logging в моих пакетах, и в ней упоминалось, что я использовал следующее в своем МАНИФЕСТЕ.
Import-Package: org.apache.log4j; version="[1.2,1.3)"; provider=paxlogging,
org.apache.commons.logging; version="[1.0,1.1)"; provider=paxlogging
Этот код гарантирует, что провайдером для ведения журнала является paxlogging.
Без этого я никогда не смог бы увидеть ни одного из своих сообщений в журнале. Теперь я могу, и это здорово, настраивая это, кажется, не работает с фрагментами, поэтому я смотрю в ConfAdmin для этого, но сейчас я счастлив и могу продолжить разработку с надлежащей регистрацией.