CodeGym/Cursos Java/Módulo 3. Java Professional/Configuración de niveles de registro

Configuración de niveles de registro

Disponible

4.1 Lista de niveles de registro

Escribiste tu programa, lo subiste al servidor e inmediatamente comienzas a tener preguntas:

  • ¿ Cómo asegurarse de que debug()el método no funcione mientras se trabaja en production?
  • Hay demasiada información en los registros, ¿le gustaría dejar solo mensajes de error?
  • ¿Cómo ver un registro detallado de una parte de la aplicación?

Por supuesto, los creadores de los registros se enfrentaron a lo mismo hace décadas. No le diré cómo se resolvió este problema en el lenguaje C, pero en el lenguaje Java se resolvió muy bien.

El registro filtra los datos antes de escribir la información en el archivo . Puede reducir/aumentar muy rápidamente el detalle del registro configurando el nivel de registro. Estos niveles se describen en la siguiente tabla:

Nivel Nota
1 TODO Registrar todos los mensajes
2 RASTRO Pequeño mensaje al depurar
3 DEPURAR Mensajes importantes para la depuración
4 INFORMACIÓN Mensajes simples
5 ADVERTIR Escribe solo fatal, error y advertencia.
6 ERROR Escribir solo errores y errores fatales
7 FATAL Escribir solo errores fatales
8 APAGADO No escribir mensajes en el registro.

Estos niveles se utilizan al filtrar mensajes. Si establece el nivel de registro en , se descartarán WARNtodos los mensajes menos importantes : , , . Si establece el nivel de filtrado en , incluso .WARNTRACEDEBUGINFOFATALERROR

Hay dos niveles de gravedad más que se utilizan en el filtrado: esto OFF(descartar todos los mensajes) y ALLescribir todos los mensajes (no descartar nada).

4.2 Ejemplo de configuración de registro

Veamos un ejemplo de configuración de registro simple. Para hacer esto, necesitamos el archivo log4j.properties, que se puede colocar en la carpeta de recursos. Vamos a agregarle el siguiente contenido:

# Root logger option
log4j.rootLogger=WARN, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}

Aquí, en la primera línea, establecemos el nivel de registro: WARN. Y esto significa que los mensajes que se escriben en el registrador con estado DEBUGserán INFOignorados.

  • Especifique qué tipo de appender usaremos -ConsoleAppender
  • Especifique dónde escribiremos el registro -System.out
  • Establecemos la clase que controlará el formato de grabación -PatternLayout
  • Establecer el formato de grabación para todos los mensajes: fecha y hora

4.3 Errores de registro populares

Y un punto más importante: errores populares en el registro. No hay tantas opciones para hacer algo, pero se pueden identificar varios errores comunes:

  1. Demasiado registro . No debe registrar cada paso, lo que teóricamente puede ser importante. Hay una regla: los registros pueden cargar el rendimiento en no más del 10 % . De lo contrario, habrá problemas de rendimiento.
  2. Registro de todos los datos en un archivo . Esto hará que sea muy difícil leer/escribir en algún momento, sin mencionar que existen límites de tamaño de archivo en ciertos sistemas.
  3. Uso de niveles de registro incorrectos . Cada nivel de registro tiene límites claros y deben respetarse. Si el límite es vago, puede acordar qué nivel usar.
Comentarios
  • Populares
  • Nuevas
  • Antiguas
Debes iniciar sesión para dejar un comentario
Esta página aún no tiene comentarios