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.1.tar.gz (5.8 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.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mxlogging-1.1.1.tar.gz
  • Upload date:
  • Size: 5.8 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.1.tar.gz
Algorithm Hash digest
SHA256 1a72d7f7581434a3990877844cb7b1fe3a69b840a278b9e4cc8b576d98f5aaaf
MD5 20a15324cf3b13f6c7899107533ceb36
BLAKE2b-256 d6b31539aa63991537380d1fccbf7191ec1cb1d12f34fbbc6cb4f0a35d44054a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mxlogging-1.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1449c682951dceb9e6d8458b1bc1cdc59b9d417d1a2be99940d9b906d0a4aa96
MD5 b6fc8be0e7112b49b5c30d39ccd676eb
BLAKE2b-256 85ea1c8fd14615d87c8539d24dd4e11407767c4b3ad628d26b931a14c2dc9ffd

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