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>)