代码之家  ›  专栏  ›  技术社区  ›  user5444681

如何在包覆面提取容器中使用log4j2?

  •  2
  • user5444681  · 技术社区  · 6 年前

    我尝试在我的项目和Arquillian测试中使用统一的日志记录,但由于某些原因,包覆面提取容器的Wildfly不使用我的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?

    1 回复  |  直到 6 年前
        1
  •  0
  •   user5444681 user5444681    6 年前

    它现在似乎起作用了。我在日志4J2中的错误级别出错。xml,因此只显示Wildfly的标准输出。

    上述示例有效。