Skip to main content

Un sistema de logging optimizado para una interpretación clara y una integración sencilla de mensajes. Pensado para mejorar la trazabilidad y el diagnóstico en proyectos de software.

Project description

MxLogging

Características Principales:

  1. Creación Automática de Archivos: Por defecto, mxlogging crea un archivo .log con el mismo nombre que tu script principal. Además, guarda este archivo en una carpeta llamada "logs". Si la carpeta no existe, la crea automáticamente.
  2. Compatibilidad con Otras Bibliotecas: Puedes usar mxlogging sin problemas incluso si ya estás usando otra biblioteca de logging.
  3. Múltiples Registros en una Aplicación: Con mxlogging, es fácil tener varios registros en tu aplicación.
    • Nombres Automáticos: Si no especificas un nombre, mxlogging lo genera por ti.
    • Rutas Automáticas: Si no especificas una ruta, mxlogging guarda los archivos .log en la carpeta /logs/.
    • Opción de Registro Único: Si estás creando múltiples registros, puedes optar por unificarlos y almacenarlos en un único archivo .log. (Ver ejemplos más abajo.)
  4. Uso Sencillo: Con mxlogging, tu única tarea es escribir el registro.

USO de mxlogging:

  1. Importar y Crear Instancias de la Clase:

    Para empezar, importa la biblioteca y crea una instancia de la clase. Cada instancia corresponde a un registro distinto.

    import mxlogging 
    lgn = mxlogging.lgn() # Crea una instancia para el primer registro
    

    Si deseas tener más registros, puedes crear más instancias:

    lgn2 = mxlogging.lgn()  # Crea una instancia adicional para otro registro
    
  2. Configurar mxlogging:

    Cada instancia de registro necesita una configuración. Utiliza el método config para ello.

    lgn.config(atributos)  # Configura el primer registro
    

    Si hemos creado más instancias:

    lgn2.config(atributos)  # Configura el primer registro
    
    • Atributos de configuraciones:
      • time_log
      • time_log = False or None -> crea el archivo log con nombre: nombreScript.log
      • time_log = True -> crea el log crea el archivo log con nombre: nombreScript_fechaHora.log
      • ruta_log
        • ruta_log = None -> crea el archivo en la ruta por default, dentro de una carpeta ./logs en la raiz del script que ejecuta.
        • ruta_log = "path absoluto donde guardará el archivo .log" # Nueva ruta.
      • nombre_log
        • nombre_log = None -> crea el nombre del archivo por defecto que será el nombre del script.
        • nombre_log = "nombreDelLog" # Para renombrar el log.
      • unico_log
        • unico_log = False or None -> Genera varios archivos por separado .log.
        • unico_log = True -> Genera un único archivo de log con ambos logging registrados.
  3. Uso de las Instancias para Registrar:

    Después de la configuración, puedes utilizar tus instancias (como lgn o lgn2) para registrar start, mensajes, errores o end.

    • Start: lgn.start() -> Prepara el archivo log dentro de la carpeta logs y añade separación start.

    • Mensajes:

      • lgn.t() -> Sin añadirle atributos te pone como título la ruta del script, va bien por si quieres anotar cuando cambia de un script a otro el proceso.
      • lgn.s('Mensaje')
      • lgn.p('Mensaje Párrafo (lleva 2 espacios, útil para añadirlo cuando ejecuta dentro de alguna función.)')
      • lgn.e('Mensaje Error, lleva el texto ERROR por defecto.')
    • End:

      • lgn.end() -> Fin del Log, te añade separación para el final.

Ejemplo de uso de mxlogging:

(Ejecutando script main.py)
import mxlogging
lgn = mxlogging.lgn()
lgn.config(time_log=True, 
            ruta_log='/Users/Pistatxos/carpeta1/carpeta2/',
            nombre_log='nombreDelLog')
lgn.start()

lgn.t()
lgn.s('Subtitulo')
lgn.p('Parrafo')

funcion_main2() # (se llama y ejecuta función del main2.py)
   #(dentro de main2.py)
      #lgn.t()
      #lgn.s('Subtitulo 2')
      #lgn.p('Parrafo 2')

lgn.t()
lgn.e('Ejemplo Errores!')
lgn.end()

Ejemplo archivo LOG creado:

2023-09-15 12:04:43,791 
==============================================================================
    ** START LOG: main.py **
==============================================================================
2023-09-15 12:04:43,791 * Ruta script actual:
    /Users/pistatxos/Desktop/carpeta1/test/main.py
    ----------------------------------------------
2023-09-15 12:04:43,791 - Subtitulo
2023-09-15 12:04:43,791   - Parrafo
2023-09-15 12:04:43,792 * Ruta script actual:
    /Users/pistatxos/Desktop/carpeta1/test/main2.py
    -----------------------------------------------
2023-09-15 12:04:43,792 - Subtitulo 2
2023-09-15 12:04:43,792   - Parrafo 2
2023-09-15 12:04:43,793 * Ruta script actual:
    /Users/pistatxos/Desktop/carpeta1/test/main.py
    ----------------------------------------------
2023-09-15 12:04:43,793 ERROR - Ejemplo Errores!
2023-09-15 12:04:43,793
===============================================================================
    ** FIN LOG: main.py **
===============================================================================

Ejemplo de uso de varios mxlogging en un único archivo:

2023-10-29 17:28:05,791 - testing_mxlogging
================================================================================
    ** START LOG: testing_mxlogging.py **
================================================================================
2023-10-29 17:28:05,791 - testing_mxlogging_2
================================================================================
    ** START LOG: testing_mxlogging.py **
================================================================================
2023-10-29 17:28:05,795 - testing_mxlogging * Ruta script actual:
    /Users/pistatxos/Desktop/carpeta1/test/main.py
    ----------------------------------------------
2023-10-29 17:28:05,795 - testing_mxlogging - Subtitulo
2023-10-29 17:28:05,796 - testing_mxlogging   - Parrafo

2023-10-29 17:28:05,796 - testing_mxlogging_2 - Subtitulo 2
2023-10-29 17:28:05,796 - testing_mxlogging_2   - Parrafo 2

2023-10-29 17:28:05,796 - testing_mxlogging ERROR - Ejemplo Errores!
2023-10-29 17:28:05,796 - testing_mxlogging
================================================================================
    ** FIN LOG: testing_mxlogging.py **
================================================================================

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mxlogging-1.1.2.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mxlogging-1.1.2-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file mxlogging-1.1.2.tar.gz.

File metadata

  • Download URL: mxlogging-1.1.2.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for mxlogging-1.1.2.tar.gz
Algorithm Hash digest
SHA256 c8f08184d6174146f5f3578c25f1164915bbf1e4340de665a296375e93145621
MD5 5c07952da51746cbedb73a7684fe87ef
BLAKE2b-256 3581eef0029923bcefffb17ba4dfbca06035bceb598721eb54dc76750eba54bf

See more details on using hashes here.

File details

Details for the file mxlogging-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: mxlogging-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for mxlogging-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d0db74803662a13c9be2b87f72db80e7e99a1f6e1e53e70065bbbbe76e56ee40
MD5 9bbf69509989a7aac62ff5667b82459a
BLAKE2b-256 324efde29d3172d5698258abfb78ee0570a6cf5c903a071a356387445d0ee249

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page