Как использовать log4j2 в контейнере ShrinkWrap?

Я пытаюсь использовать единое ведение журнала в своем проекте, а также в тестах Arquillian, но по какой-то причине Wildfly для контейнеров ShrinkWrap не использует мою конфигурацию ведения журнала log4j2.xml.

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

@Deployment
public static Archive<?> createDeployment() {
  PomEquippedResolveStage pomFile = Maven.resolver().loadPomFromFile("pom.xml");

  WebArchive archive = ShrinkWrap.create(WebArchive.class)
      .addAsLibraries(pomFile.resolve("org.mockito:mockito-all").withTransitivity().asFile())
      .addAsLibraries(pomFile.resolve("org.slf4j:slf4j-api").withTransitivity().asFile())
      .addAsLibraries(pomFile.resolve("org.slf4j:jcl-over-slf4j").withTransitivity().asFile())
      .addAsLibraries(pomFile.resolve("org.apache.logging.log4j:log4j-slf4j-impl").withTransitivity().asFile())
      .addClasses(/* the required classes*/)
      .addAsResource("log4j2.xml")
      .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");

  return archive;
}

Я явно добавляю реализацию slf4j и log4j, которая отлично работает для остальной части проекта. Как мне правильно включить здесь log4j2?


person Community    schedule 14.12.2017    source источник


Ответы (1)


Вроде работает сейчас. Я ошибся с уровнем ошибки в моем log4j2.xml, поэтому был показан только стандартный вывод Wildfly.

Пример выше работает.

person Community    schedule 14.12.2017