En Java Cómo crear su propio nivel de registro usando Log4j (Configuración de Log4j 2)

Publicado: 2017-07-26
En Java Cómo crear su propio nivel de registro usando Log4j 2

Si necesita agregar su propio nivel de registro en Log4j, puede hacerlo de la siguiente manera. Tendrá que crear su propia clase que se extenderá desde Level , Custom Log Levels con Apache Log4j 2.

Log4j es un logging framework simple y flexible. El registro proporciona al desarrollador un contexto detallado para las fallas de la aplicación. Con log4j es posible habilitar el registro en tiempo de ejecución sin modificar el binario de la aplicación.

El paquete log4j está diseñado para que estas declaraciones puedan permanecer en el código enviado sin incurrir en un alto costo de rendimiento.

Cómo crear su propio nivel de registro en Log4j (Configuración de Log4j)

Log4j permite registrar solicitudes para imprimir en múltiples destinos. En lenguaje log4j, un destino de salida se llama appender . Varían desde consola, archivos, componentes GUI, servidores de socket remotos hasta JMS.

Archivo Jar que necesita.

Aquí hay una dependencia de Maven:

Actualice Log4j a la última versión

CVE-2021-44228: Apache Log4j2 <= 2.14.1 Las características de JNDI utilizadas en la configuración, los mensajes de registro y los parámetros no protegen contra LDAP controlado por atacantes y otros puntos finales relacionados con JNDI.

A partir de log4j 2.16.0, este comportamiento se ha desactivado de forma predeterminada.

Debe colocar el archivo log4j.xml en la carpeta /resources :

archivo log4j.xml en la carpeta de recursos

Aquí hay un ejemplo de código Java para:

  • Registro de Log4j para niveles de registro personalizados en Java
  • Crear su propio nivel de registro en log4j
  • ejemplo de registrador personalizado log4j

CrunchifyLog4jLevel.java

Otro debe leer:

  • ¿Cómo iniciar Stop Apache Tomcat Server a través de la línea de comandos? (Configurar como servicio de Windows)
  • Cree e implemente un servicio web simple y un cliente de servicio web en Eclipse

Aquí hay un contenido del archivo log4j.xml

CrunchifyLog4jLevelTest.java

Ejecute el programa de prueba y debería ver el siguiente tipo de resultado en Eclipse's Console .

El valor int que especifica para su nivel de registro es importante. Aquí he definido que el nivel de registro " CRUNCHIFY " debe ser superior al nivel DEBUG pero inferior al nivel TRACE proporcionado por log4j.

Entonces, siempre que haya establecido un nivel de prioridad para DEPURAR en la categoría (en su archivo log4j.xml ), los registros del nivel CRUNCHIFY NO llegarán al archivo de registro.