2017-12-14 5 views
1

Ich versuche, eine einheitliche Protokollierung in meinem Projekt sowie den Arquillian-Tests zu verwenden, aber aus irgendeinem Grund verwendet die Wildfly für die ShrinkWrap-Container nicht meine Protokollierungskonfiguration log4j2.xml.Wie log4j2 in einem ShrinkWrap-Container zu verwenden?

Mein Einsatz Container ist Setup in dem Test wie folgt aus:

@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; 
} 

ich ausdrücklich slf4j hinzufügen und die log4j-Implementierung, die für den Rest des Projekts gut funktioniert. Wie aktiviere ich log4j2 hier richtig?

Antwort

0

Es scheint jetzt zu arbeiten. Ich habe einen Fehler mit der Fehlerstufe in meiner log4j2.xml gemacht, also wurde nur die Standardausgabe der Wildfly angezeigt.

Das obige Beispiel funktioniert.

Verwandte Themen