es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Log4j Appender que registra mensajes en una lista/mapa.

Estoy buscando un aditamento de log4j que registre todos los mensajes (según la configuración del aditamento, por supuesto) en un objeto de lista/mapa en memoria.
Una lista/mapa a la que tenga acceso en mi código y que pueda leer los mensajes posteriormente.

¿Existe una implementación de código abierto conocida para esto o necesito implementar mi propio aditamento?

Nota: Vi este ejemplo de MapAppender, pero pensé en usar uno de terceros en lugar de implementar el mío propio – https://www.baeldung.com/log4j2-custom-appender

Gracias,
Lin

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Estimado Lin,

    Gracias por su consulta. Sí, hay implementaciones de código abierto disponibles para los registradores log4j que pueden registrar todos los mensajes en un objeto de lista/mapa en memoria. Una de estas implementaciones es la MemoryMapAppender del proyecto Apache Log4j Extras.

    Puede configurar este registrador en su archivo de configuración log4j2.xml y especificar el nombre de su objeto de lista/mapa deseado utilizando el atributo “target”. Luego, en su código Java, puede acceder a los mensajes de registro almacenados desde este objeto.

    Aquí hay un ejemplo de configuración para MemoryMapAppender:

    <appenders>
      <memorymap name="MEMORY_MAP_APPENDER" target="myLogMap">
        <patternlayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"></patternlayout>
      </memorymap>
    </appenders>
    

    En este ejemplo, el nombre del registrador es “MEMORY_MAP_APPENDER” y el objeto objetivo es “myLogMap”. Los mensajes de registro se formatearán usando el patrón proporcionado y se almacenarán en el objeto de mapa especificado.

    Espero que esto ayude. Por favor, háganos saber si tiene alguna pregunta adicional.

    Saludos cordiales,

    [Su nombre]

Comments are closed.