DescripcionLogs – Pyragua

Descripción del Problema

Conforme un programa crece, se hace más difícil corregir errores y bugs en este. Una práctica común en Python es el uso de sentencias print a lo largo del programa, para revisar el estado de variables, y el flujo del código durante la ejecución del programa. Sin embargo, es poco deseable que las sentencias print utilizadas para "debugging" del software aparezcan en la versión final, por lo que es necesario removerlas del códdigo, o desactivarlas de alguna forma a través de banderas.

Al momento de entregar una versión de prueba del programa (alpha, beta), se complica la forma en que los usuarios finales retroalimentan. Por lo general lo hacen a través de una descripción de lo que hacían con el programa en el momento en que sucedió el error, sin embargo, esto puede no ser suficiente.

Logs de Pyragua

El sistema de logs de Pyragua debe tener las siguientes características:

Ideas para la implementación

El módulo de logs de Pyragua debería ser un sistema que funciona sobre el módulo logging de Python, extendiendo ligeramente las capacidades de este para satisfacer las necesidades de Pyragua.

Se puede manejar una sección genérica de los logs para los plugins, sin embargo, es importante que en esta se identifique claramente a que plugin pertenece.

Dentro de la carpeta de Pyragua, se puede manejar una carpeta dedicada a almacenar los logs de cada una de las secciones. Un archivo por sección.

En caso de que no sea posible escribir en los archivos de log, estos no pueden de ninguna forma afectar el funcionamiento de pyragua.