Buenas prácticas logging

eondev

En la oficina hemos estado hablando sobre monitorización y logging (Elk stack) a raíz de que tengo que añadir un logging efectivo a un servicio que peta por todos lados y en silencio (deja colgados unos terminales y aparentemente no sale ninguna excepción en el stdout).

Mi pregunta es: sabéis de algún recurso weno para hacer un logging práctico y efectivo? Mis dudas son como saber qué escribir y añadir en los logs para ser descriptivo pero sin pasarme de verboso. Muestro el estado del objeto de esa función? Un simple mensaje de error? El logging encapsulado en la función o fuera donde se llame? Hasta ahora el logging de mis programas han sido siempre un poco como me parecía... y es hora ya de mejorar esto XD

pineda

nosotros siendo api siempre usamos 2 logs, uno del tipo accesslog con algo más de info, donde cada petición se registra en una línea única, con datos como el cliente, el estado de la petición, la hora, tiempo de respuesta, id único de la rq, el host, ip origen, y me dejo cosas

el otro ya sería el log de verdad, donde se supone que solo habrá errores y warnings, algo menos estructurado, pero que sea fácil enlazar el accesslog con este. El que poner en este log pues depende demasiado de tu aplicación...

ah, y si tienes arquitectura con varios servicios enlazados, añade también opentracing

1

Usuarios habituales

  • pineda
  • eondev