2017-02-15 20 views
0

Я провел последние несколько дней, пытаясь настроить logback с моим проектом wildfly 10.WIldfly 10 + logback

Моя цель являются:

  1. журналы серверов должны быть созданы wildfly регистратором.
  2. Мои журналы EAR должны быть созданы путем регистрации.
  3. Loglog и loglog logger записываются на консоль.

Моего проект скелет генерируется мавенна и выглядит следующим образом:

  • Projectname
  • имя_проект ухо
  • имя_проект-EJB
  • имя_проект родитель
  • имя_проект-веб

Я пытаюсь добавить logback.xml к ресурсам в проекте web и ejb - он не работает. Я новичок в дикой природе и не уверен, что я делаю все правильно.

Я пытался добавить следующий код в JBoss-развертывания-structure.xml во всех проектах, в соответствии с this page:

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure> 
    <deployment> 
    <exclusions> 
     <module name="org.apache.commons.logging" /> 
     <module name="org.apache.log4j" /> 
     <module name="org.jboss.logging" /> 
     <module name="org.jboss.logging.jul-to-slf4j-stub" /> 
     <module name="org.jboss.logmanager" /> 
     <module name="org.jboss.logmanager.log4j" /> 
     <module name="org.slf4j" /> 
     <module name="org.slf4j.impl" /> 
    </exclusions> 
    </deployment> 
</jboss-deployment-structure> 

Ничего не произошло. Затем я увлекаюсь другим:

<jboss-deployment-structure> 
    <deployment> 
    <!-- exclude-subsystem prevents a subsystems deployment unit processors running on a deployment --> 
    <!-- which gives basically the same effect as removing the subsystem, but it only affects single deployment --> 
    <exclude-subsystems> 
     <subsystem name="logging" /> 
    </exclude-subsystems> 
    </deployment> 
</jboss-deployment-structure> 

Ничего не происходит. Я делаю что-то не так в этот момент?

Затем я нашел решение с заменой регистратора дикой природы в this tutorial.

Это работает, но есть один огромный недостаток. Журналы удваиваются - похоже, что logback и loglog logger регистрируются сразу для консоли. Отключение регистратора wildfly в logger.properties не работает.

Я понятия не имел, что я потратил столько времени на внедрение регистратора. Logback + android был тихим пирогом. Я ценю все хорошие советы и опыт в этой проблеме.

ответ

1

Что вы имеете с jboss-deployment-structure.xml будет работать, но поскольку вы используете EAR, вам нужно сделать то же самое исключение для каждого sub-deployment. Я бы просто исключил подсистему регистрации, так как вам не понадобится какая-либо часть подсистемы, обрабатывающей ваше развертывание.

Добавьте jboss-deployment-structure.xml в проект EAR в каталог projectname-ear/src/main/application/META-INF.

Другим вариантом было бы изменить add-logging-api-dependencies и use-deployment-logging-config на false. Замечание с этой опцией заключается в том, что он не позволит зависимостям регистрации от добавления в ВСЕ развертывания. Если у вас есть только одно развертывание или все ваши развертывания для нашего журнала для менеджера журналов, то это будет самый простой вариант.

Update: Пример jboss-deployment-structure.xml

<?xml version="1.0"?> 
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <deployment> 
     <exclude-subsystems> 
      <subsystem name="logging" /> 
     </exclude-subsystems> 
    </deployment> 
    <sub-deployment name="projectname-web.war"> 
     <exclude-subsystems> 
      <subsystem name="logging" /> 
     </exclude-subsystems> 
    </sub-deployment> 
    <sub-deployment name="projectname-ejb.jar"> 
     <exclude-subsystems> 
      <subsystem name="logging" /> 
     </exclude-subsystems> 
    </sub-deployment> 
</jboss-deployment-structure> 

Чтобы удалить дублирующиеся журналы проверки this пост.

+0

Я добавил jboss-deployment-structure.xml ко всем вспомогательным развертываниям в каталог 'src/main/resources/META-INF /' (EJB, WEB - другое создается автоматически). К сожалению, это не помогло. Вторая часть вашего ответа работает почти идеально, но проблема с консольными журналами по-прежнему остается - они «завернуты» журналами wildfly. Я вижу, что @gandalfml имел ту же [проблему] (http://stackoverflow.com/questions/37377043/configure-logback-in-wildfly) и не решал ее. – LukTar

+0

Извините, я должен был уточнить. Вы должны добавить исключение в jboss-deployment-structure.xml в EAR. В конце концов вы столкнетесь с некоторыми

+0

Я мог бы остановиться, выключив ведение журнала wildfly в standalone.xml и жить спокойно, но я действительно хочу проверить Your первое предложение, поэтому ... Я читал о суб-развертываниях и файле ушей. Я нашел похожие проблемы [здесь] (http://stackoverflow.com/questions/26137219/war-in-ear-jboss-deployment-structure-xml-ignored) и [здесь] (http://stackoverflow.com/questions/26859092/JBoss развертывание-структура-XML-делает-не-нагрузка-то зависимости-в-мой-ухо-проект). Извините за мой вопрос noob, но как добавить jboss-deployment-structure.xml в мой проект EAR? – LukTar