Escrito el 29/08/2024

Logging

Es una herramienta que nos permite depurar, monitorear y auditar un sistema.

Es importante para:

  • Trazabilidad.
  • Solucionar errores más rápido.
  • Seguridad.
  • Estudio de experiencia de usuarios.

Trazabilidad

Capacidad de seguir y correlacionar eventos, acciones y transacciones en toda la aplicación. Permite construcir el flujo entero de una acción completa

Solución

Al tener contexto completo, permite diagnosticar el error fácilmente., Los logs actuan como historial el cual se puede consukltar para prevenir próximos problemas. Se pueden crear alertas

Seguridad

A09:2021: No tener un sistema de logs, se considera una gran vulnerabilidad. Tener un buen log, permite identificar error, crear alertas, etc. para evitar largos periodos de vulnerabilidad

Niveles

Debug

Durante el desarrollo, mayor nivel de detalle.

Info

Ofrece información de que todo está funcionando Se usa para informar eventos normales de la aplicación (starting, request received, etc.).

Warning

Indica que ocurrió un evento inesperado pero la aplicación sigue funcionando como se espera. Útil para alarmar posibles problemas a futuro.

Error

Señala un problema grave en el sistema. Alerta para poder escalar y resolver lo más pronto posible.

Fatal

El funcionamiento de toda la aplicación se ve comprometido

Casos de usos

  • AWS CloudWatch
  • graylog
  • Azure Monitor
  • splunk
  • papeltrail
  • fluentd
  • log4j
  • ELK (logstash, elasticsearch, kibana>)