Cómo ejecutar WildFly-8.x con log4j2 y slf4j

Me gusta reemplazar el mecanismo de registro estándar en mi WildFly-8.xcon log4j2.

Mi idea de hacer esto fue agregar los siguientes frascos como módulos:

log4j-api-2.3.jar
log4j-core-2.3.jar

y agregando un module.xmlpara que el servidor proporcione el registrador.

Como ya utilizo slf4jen mi aplicación, que está construida a través de Maven, decidí simplemente agregar lo siguiente en mi pom.xmlpara construir mi archivo EAR

  <!-- versions are provided via private parent-pom -->
  <!-- slf4j-api -->
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- slf4j to log4j2, needed??? -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- log4j2 api, do I really need this??  -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- log4j2 api, do I really need this?? -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <scope>provided</scope>
  </dependency>

Entonces, quedan algunas preguntas:

1.) ¿Necesito dependencias adicionales en mi jboss-deployment-structure.xml, algo que se parece a esto?

[...]
<ear-subdeployment-isolated>false</ear-subdeployment-isolated>
<deployment>
  <dependencies>
    [...]
    <!-- name taken from my introduced module.xml -->
    <module name="org.apache.logging.log4j2" slot="main" export="true" />
    [...]
  </dependencies>
</deployment>

2.) ¿Cómo configuro log4j2 en mi standalone-*.xml? ¿Supongo que <loggers/>y <handlers/>solo funcionará con el sistema incorporado?

3.) ¿Necesito especificar el pom.xmlfragmento de arriba en cada módulo Maven donde registro algo (que es casi todos los módulos donde reside una clase Java)?

Y una pequeña pregunta "dulce": 4.) ¿Cómo configuro log4j2 para comprimir los archivos de registro, como se hizo con log4j (1) -extras?

Respuesta 1

Estoy usando el Marco XML simple para analizar archivos XML. De un servidor recibo un archivo XML que se ve así: <Objects> <Object type = "A"> <name> </name> & ...

He estado tratando de hacer una expresión regular para mis teléfonos móviles, pero parece que no puedo hacer que funcione: Estas son las condiciones para mi expresión regular: debe comenzar con 09 la longitud total es 9 Aquí ...

Intento entender lo que hace el método Object.getClass (). La documentación dice que "devuelve la clase de tiempo de ejecución de un objeto". Esa explicación no me ayuda a entender el término. Tiene ...

Puede que me falte algo aquí, pero parece que no puedo encontrar una explicación en la documentación de Joda Time ni en ningún otro lado. Parece que Joda Time se descompone al calcular semanas al agregar y ...