java unit-testing logging log4j2

java - Log4J2-¿Cómo deshabilitar el registro en la prueba de unidad?



unit-testing logging (2)

Encontré mi respuesta en el sitio web log4j2 en " Pruebas en Maven ". La forma recomendada parece ser colocar un archivo log4j2-test.xml en src / test / resources. Colocar el archivo xml en este directorio hará que se use en lugar de un log4j2.xml.

Estoy utilizando Log4J v2.0 Beta3 en mi aplicación para el registro y recibo mensajes de registro generados cuando ejecuto mis pruebas unitarias. Revisé la API de alguna manera para establecer el nivel de registro en algo como CRÍTICO pero no pude encontrar ninguna manera de cambiar la configuración del registrador.

De hecho, leí esto en el sitio web log4j2:

Tenga en cuenta que, a diferencia de Log4j 1.x, la API pública de Log4j 2 no expone los métodos para agregar, modificar o eliminar agregadores y filtros, ni manipular la configuración de ninguna manera.

Así que con eso dicho. ¿Cuál es la forma correcta de deshabilitar el registro desde las pruebas unitarias?


Puede deshabilitar el registro con la configuración del nivel de raíz en off ( <Root level="off"/> ).

Entonces coloque el archivo log4j2.xml en src / test / resources con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xml> <Configuration status="warn"> <Loggers> <Root level="off"/> </Loggers> </Configuration>