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