uso que logger log j4log hacer con como java logging log4j

java - que - ¿Qué significa umbral en Log4J?



logger log4j java (4)

Hola, todas tengo las propiedades de log4j, algo así como la siguiente. Todo lo que está conectado en TextProcessor.log es algo que está por encima del nivel WARN. No entiendo el umbral que se establece aquí para depurar. ¿Alguien puede explicar lo que hace el umbral?

log4j.logger.TextProcessor=warn,TextProcessor log4j.appender.TextProcessor=org.apache.log4j.RollingFileAppender log4j.appender.TextProcessor.File=C:/project/logs/TextProcessor.log log4j.appender.TextProcessor.MaxFileSize=10MB log4j.appender.TextProcessor.MaxBackupIndex=10 log4j.appender.TextProcessor.Threshold=debug log4j.appender.TextProcessor.layout=org.apache.log4j.PatternLayout log4j.appender.TextProcessor.layout.ConversionPattern=[%d] [%5p] (%F:%L) - %m%n

Gracias por adelantado


Aquí tienes dos cosas: un registrador y un appender. Lamentablemente, eligió el mismo nombre para ambos, lo que no lo deja muy claro.

El nivel mínimo del registrador está configurado para advertir, lo que significa que todo lo que inicie sesión con este registrador que no tenga al menos el nivel de advertencia será ignorado.

Una vez que el registrador acepta un mensaje, se lo envía a uno o varios apéndices (a un archivo, a la consola, a un servidor de correo, etc.). Cada uno de estos apéndices puede definir un umbral. Por ejemplo, podría limitar los mensajes en la consola a errores, pero acepte advertir mensajes en el archivo de registro.


Los niveles de registro son TRACE , DEBUG , INFO , WARN , ERROR y FATAL . Podrá elegir qué registrar en qué nivel del código depende de la gravedad. Por ejemplo, tendrá la capacidad de registrar la entrada y salida de métodos, pero puede optar por iniciar sesión en el nivel DEBUG . Esto lo ayudará a depurar el código ya que de manera predeterminada se imprimirá en la consola (el appender de la consola predeterminada está activado). Mientras va a producción, puede aumentar el umbral de ERROR y evitar que la aplicación imprima detalles no tan útiles en la consola o en los archivos de registro.


Proporcione un mapeo simple desde el archivo de configuración de propiedades hasta el flujo de mensajes de registro. (Oculté algunas líneas de configuración para minimizar)

log4j.rootLogger=ALL, stdout log4j.logger.com.xyz=INFO, file log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.file.Threshold=DEBUG ... log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.Threshold=WARN ...

Para entender de qué se trata, debes saber que:

  • Los niveles de registro aumentan cuando se recupera a la izquierda: RASTREO, DEPURACIÓN, INFORMACIÓN, ADVERTENCIA, ERROR y FATAL
  • Nivel mínimo de registro que el registrador acepta desde la aplicación.
  • Nivel mínimo de inicio de sesión en appender que decide qué se escribirá

** Hay algo más complejo sobre herencia y aditividad, pero primero debe comenzar por lo básico y lo simple.


El umbral es el segundo filtro para los mensajes que se registrarán

p.ej:

log4j.logger.TextProcessor=Debug,TextProcessor , InfoLogger . . . log4j.appender.TextProcessor.Threshold=Error

si el registrador se establece en el nivel DEPURACIÓN y el Umbral del agregador está configurado en Error, entonces con el procesador de textos adjunto solo se registrarán los errores y los mensajes de mayor gravedad.

El uso de Threshold es, puede definir diferentes appenders con diferentes niveles de umbral, por ejemplo, en el ejemplo mencionado anteriormente también puede tener InfoLogger con el registro de mensajes de nivel de información habilitado

log4j.logger.TextProcessor=Debug,TextProcessor , InfoLogger . . . log4j.appender.InfoLogger.Threshold=INFO

Para comprender los niveles, hay niveles inferiores de registro en log4j:

FATAL: shows messages at a FATAL level only ERROR: Shows messages classified as ERROR and FATAL WARNING: Shows messages classified as WARNING, ERROR, and FATAL INFO: Shows messages classified as INFO, WARNING, ERROR, and FATAL DEBUG: Shows messages classified as DEBUG, INFO, WARNING, ERROR, and FATAL TRACE : Shows messages classified as TRACE,DEBUG, INFO, WARNING, ERROR, and FATAL ALL : Shows messages classified as TRACE,DEBUG, INFO, WARNING, ERROR, and FATAL OFF : No log messages display

ir a URL para más detalles