Estoy usando el complemento Cargo Maven para implementar un WAR en un servidor remoto, y estoy teniendo problemas. Probablemente creare una segunda pregunta para ese problema, pero esta es sobre anular la configuración log4j de un plugin Maven. Cargo usa las bibliotecas de clientes de JBoss para enviar cosas a los servidores de JBoss (lo cual intento hacer). La biblioteca de JBoss usa log4j. Cargo no configura ningún tipo de capa de mapeo que yo sepa.¿Cómo anulo la configuración log4j de un Plugin de Maven?
Por lo tanto, esencialmente, los mensajes de registro se están produciendo en la biblioteca dependiente de un complemento Maven. He intentado establecer -Dlog4j.debug y obtuve esta información:
log4j: Trying to find [log4j.xml] using ClassRealm[plugin>org.codehaus.cargo:cargo-maven2-plugin:1.0.5, parent: ClassRealm[maven.api, parent: null]] class loader. log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource(). log4j: Trying to find [log4j.properties] using context classloader ClassRealm[plugin>org.codehaus.cargo:cargo-maven2-plugin:1.0.5, parent: ClassRealm[maven.api, parent: null]]. log4j: Using URL [jar:file:/C:/Users/username/.m2/repository/org/jboss/jbossts/jbossjts/4.13.1.Final/jbossjts-4.13.1.Final.jar!/log4j.properties] for automatic log4j configuration. log4j: Reading configuration from URL jar:file:/C:/Users/username/.m2/repository/org/jboss/jbossts/jbossjts/4.13.1.Final/jbossjts-4.13.1.Final.jar!/log4j.properties log4j: Could not find root logger information. Is this OK? log4j: Parsing for [com.arjuna] with value=[INFO, default, stdout]. log4j: Level token is [INFO]. log4j: Category com.arjuna set to INFO log4j: Parsing appender named "default". log4j: Parsing layout options for "default". log4j: Setting property [conversionPattern] to [%d [%t] %-5p %c - %m%n]. log4j: End of parsing for "default". log4j: Setting property [maxBackupIndex] to [2]. log4j: Setting property [file] to [transaction.log]. log4j: Setting property [maxFileSize] to [500KB]. log4j: setFile called: transaction.log, true log4j: setFile ended log4j: Parsed "default" options. log4j: Parsing appender named "stdout". log4j: Parsing layout options for "stdout". log4j: Setting property [conversionPattern] to [%d [%t] %-5p %c - %m%n]. log4j: End of parsing for "stdout". log4j: Setting property [threshold] to [WARN]. log4j: Parsed "stdout" options. log4j: Handling log4j.additivity.com.arjuna=[null] log4j: Finished configuring. log4j:WARN No appenders could be found for logger (org.jnp.interfaces.TimedSocketFactory). log4j:WARN Please initialize the log4j system properly.
Entonces intentado fijar -Dlog4j.configuration = mylog4j.properties pero tengo esto:
log4j: Trying to find [mylog4j.properties] using context classloader ClassRealm[plugin>org.codehaus.cargo:cargo-maven2-plugin:1.0.5, parent: ClassRealm[maven.api, parent: null]]. log4j: Trying to find [mylog4j.properties] using ClassRealm[plugin>org.codehaus.cargo:cargo-maven2-plugin:1.0.5, parent: ClassRealm[maven.api, parent: null]] class loader. log4j: Trying to find [mylog4j.properties] using ClassLoader.getSystemResource(). log4j: Could not find resource: [mylog4j.properties]. log4j:WARN No appenders could be found for logger (org.jnp.interfaces.TimedSocketFactory). log4j:WARN Please initialize the log4j system properly.
Parece que el archivo de configuración log4j debe estar en el classpath Maven ,, pero no sé cómo incluir archivos aleatorios allí, solo dependencias. Realmente quiero establecer esta información para que pueda obtener información de depuración de las bibliotecas de JBoss a fin de solucionar mi problema.
La traza extendida de la pila del problema me ayudó, de hecho, a identificar dónde se generaba la excepción (y estoy trabajando lentamente en resolverla). Aún así, parece que podría ser información útil saber cómo hacerlo esta anulación, si es posible. –