Skip to content

Instantly share code, notes, and snippets.

@AndresXLP
Created October 24, 2024 19:41
Show Gist options
  • Select an option

  • Save AndresXLP/1f7cbba4616bbe1f846b31ab161e7e47 to your computer and use it in GitHub Desktop.

Select an option

Save AndresXLP/1f7cbba4616bbe1f846b31ab161e7e47 to your computer and use it in GitHub Desktop.
Donde debemos hacer nuestros logs ?

Guia General para hacer un correcto uso de Logs


Loguear solo en el lugar donde el error se genera:

  • Si un error ocurre en una capa específica (por ejemplo, base de datos o app), solo esa capa debe ser responsable de loguearlo. No se deben duplicar los logs en capas superiores si el error ya fue logueado.

  • Capa de Repositorio (DB):

    • Si el error ocurre al interactuar con la base de datos o cualquier otra fuente de datos (por ejemplo, un problema al consultar o guardar información), el error debe ser logueado solo en el repositorio.
    • No se debe loguear en las capas superiores como app o handler.
  • Capa de Lógica de Aplicación (App):

    • Los errores de lógica de negocio (por ejemplo, validaciones específicas, errores de autenticación o de permisos) deben ser logueados en la capa de aplicación si se trata de errores relacionados con la lógica propia del negocio.
    • No se deben loguear en el handler, ya que el handler solo debe procesar el error (y, si es necesario, pasar un mensaje adecuado al middleware).
  • Capa de Handler:

    • Los errores de entrada/salida (como errores de bind, validaciones de datos, conversiones de tipos) deben ser logueados en el handler, ya que son errores específicos de esta capa.
    • Si un error ocurre en una capa inferior (app o db) y ya fue logueado, no se debe loguear nuevamente en el handler, solo gestionar la respuesta al cliente.
  • Utils o Librerias Externas

    • En estos casos se hara el log del error en el lugar donde se genere el error al usar util/libreria (capas mensionadas anteriormente)

⚠️ SUGERENCIA ⚠️

  • EVITAR LOGUEAR INFORMACION SENCIBLE
@ThiagoMowszet
Copy link

Me gusto mucho la logica de esto! muy bueno @AndresXLP 👏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment