Skip to main content

Logger is an enhanced Python logging module with colorized output, customizable themes, improved multi-logger management, and optimized display for better readability

Project description

Logger

Logger - Documentation Complète

1. Introduction

Le module Logger est une implémentation avancée de logging en Python. Il repose sur le module standard logging tout en améliorant ses capacités grâce à :

  • Un formatage avancé avec couleurs personnalisables
  • Une gestion des logs avec suppression automatique des anciens fichiers
  • Un système de monitoring de l’espace disque et des fichiers journaux
  • Des décorateurs pour mesurer le temps d’exécution et suivre les appels de fonctions
  • Un LoggerManager permettant de gérer facilement et intuitivement plusieurs loggers dans les grands projets qui nécessitent une gestion centralisée des logs.

2. Installation

Prérequis

Ce module utilise Python 3.x et dépend des bibliothèques suivantes :

pip install colorama

Intégration dans un projet

Tu peux directement inclure ce module dans ton projet en important les fichiers nécessaires.

3. Fonctionnalités principales

3.1. Création et configuration d’un Logger

Un logger peut être initialisé avec des paramètres personnalisés :

from logger.logger import Logger

logger = Logger(identifier="MyLogger", path="logs/")
logger.info("Ceci est un message informatif")

3.2. Gestion des niveaux de log

Le module propose plusieurs niveaux de log :

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL
  • FATAL

Exemple d’utilisation :

logger.debug("Ceci est un message de débogage")
logger.fatal("Erreur fatale détectée")

3.3. Formatage des logs avec couleurs personnalisées

Le format des logs suit la structure :

<date(heure:min:s.ms)> -> [<identifiant>] [<fichier>:<ligne>] <niveau> | <message>

Il est également possible d’activer un formatage coloré.

3.4. Décorateurs de logging

Deux décorateurs sont disponibles pour suivre l’exécution des fonctions :

Décorateur @log

Permet de tracer automatiquement les appels de fonctions :

from logger.decorators import log

@log()
def ma_fonction():
    print("Exécution...")

Décorateur @time_tracker

Mesure le temps d’exécution d’une fonction :

from logger.decorators import time_tracker

@time_tracker()
def calcul():
    return sum(range(10000))

3.5. Configuration avancée

Le LoggerConfig permet d’ajuster le comportement du logger :

from logger.logger_configs import LoggerConfig

config = LoggerConfig(identifier="AppLogger", path="/var/logs")
logger = Logger(config=config)

Options de configuration principales :

  • log_levels_config : niveaux de log autorisés
  • placement_config : mise en forme des logs
  • monitor_config : activation du monitoring des fichiers

4. Gestion des fichiers de log et monitoring

Le module intègre un DiskMonitor pour surveiller l’espace disque et nettoyer les logs automatiquement.

logger.disk_monitor.display_monitoring()
logger.disk_monitor.clean_logs()

5. Gestion centralisée avec LoggerManager

Le LoggerManager permet de gérer plusieurs instances de loggers :

from logger.logger_manager import LoggerManager
LoggerManager.enable_unique_logger_identifier = True

6. Exemples d’utilisation

6.1. Logger simple avec couleur

logger = Logger(identifier="App", colors=True)
logger.info("Lancement de l’application")

6.2. Logger avec sauvegarde dans un fichier

logger = Logger(identifier="App", path="logs/app.log")
logger.warning("Problème détecté")

6.3. Logger avec décorateur

@log()
def fonction_a_suivre():
    return "Donnée importante"

Auteur

Projet créé et maintenu par Florian BARRE.
Pour toute question ou contribution, n'hésitez pas à me contacter. Mon Site | Mon LinkedIn | Mon GitHub

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

loggerplusplus-0.1.1.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

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

loggerplusplus-0.1.1-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file loggerplusplus-0.1.1.tar.gz.

File metadata

  • Download URL: loggerplusplus-0.1.1.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for loggerplusplus-0.1.1.tar.gz
Algorithm Hash digest
SHA256 187ed86c75730f1f92bc1656260cbd772a861276972ee8ede875269b328e8354
MD5 e145add10be02195509e1d0c79d70a3a
BLAKE2b-256 2dd02171fb0bae278226712eac9a7b085964bc9c8a8a7762702c287ac33e1f24

See more details on using hashes here.

File details

Details for the file loggerplusplus-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: loggerplusplus-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for loggerplusplus-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 88f65a44de8252183897f200a68f1df3499e7cb24c73bde0b5f2e0eda7c2e9d3
MD5 cb74e5869709836b0c9fba746f4002a6
BLAKE2b-256 eae150fc2ca53a8fbfabaf3ab9dd2fb07da1fb976f8f987d113e83896c378737

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