Logger
Le module Logger
fournit un système de logging unifié pour l’application.
Usage
Un logger est créé pour chaque module nécessitant de journaliser des informations, ce qui permet un suivi détaillé de l’exécution de l’application.
Fonctionnalités
Gère des loggers nommés pour chaque module.
Supporte les sorties vers la console et/ou des fichiers.
Inclut la rotation automatique des fichiers de log pour éviter qu’ils ne deviennent trop volumineux.
Propose différents niveaux de log (DEBUG, INFO, WARNING, ERROR, CRITICAL).
Modules
- class src.smart_watch.core.Logger.LogLevel(*values)[source]
Bases :
Enum
Enumération des niveaux de journalisation pour le module Logger.
Cette classe définit les différents niveaux de gravité utilisés pour la journalisation des messages dans l’application. Chaque niveau correspond à une constante du module logging de Python.
- WARNING
niveau d’avertissement, utilisé pour signaler des situations inattendues ou potentiellement problématiques.
- Type:
- ERROR
niveau d’erreur, utilisé pour les erreurs qui empêchent le fonctionnement normal de l’application.
- Type:
- CRITICAL
niveau critique, utilisé pour les erreurs graves nécessitant une attention immédiate.
- Type:
- DEBUG = 10
- INFO = 20
- WARNING = 30
- ERROR = 40
- CRITICAL = 50
- class src.smart_watch.core.Logger.LogOutput(*values)[source]
Bases :
Enum
Enumération représentant les types de sortie pour les logs.
- FILE = 'file'
- CONSOLE = 'console'
- class src.smart_watch.core.Logger.SmartWatchLogger(module_name: str = 'main', outputs: List[LogOutput] | None = None)[source]
Bases :
object
- __init__(module_name: str = 'main', outputs: List[LogOutput] | None = None)[source]
Initialise une instance du logger pour le module spécifié, avec les sorties désirées.
Cette méthode configure le système de journalisation pour le module donné, en chargeant les variables d’environnement, en définissant les sorties de log (fichier et/ou console), et en préparant le fichier de log dans le dossier approprié.
- Paramètres:
- log_file
chemin vers le fichier de log.
- Type:
Path
- _setup_logging()[source]
Configure le système de journalisation pour le module courant.
Cette méthode initialise le logger en fonction du niveau de log spécifié dans la variable d’environnement LOG_LEVEL (par défaut à « INFO »). Elle configure les handlers pour la sortie console et/ou fichier selon les options définies dans self.outputs. Le dossier de logs est créé si nécessaire, et la rotation des fichiers est gérée pour limiter la taille et le nombre de sauvegardes. Si le logger possède déjà des handlers, la configuration est ignorée.
En cas d’erreur lors de la configuration, le logger est désactivé et une erreur est affichée.
- Lève:
Exception – si une erreur survient lors de la configuration du logger.
- _log(level: LogLevel, message: str)[source]
Enregistre un message dans le journal selon le niveau spécifié.
Cette méthode vérifie d’abord si le logger est disponible avant d’essayer d’écrire le message. En cas d’échec lors de l’écriture, une erreur est affichée dans la sortie standard.
- log(level: LogLevel, message: str)[source]
Enregistre un message de journalisation avec un niveau spécifié.
- debug(message: str)[source]
Enregistre un message de débogage dans le journal.
- Paramètres:
message (str) – le message à enregistrer au niveau DEBUG.
- info(message: str)[source]
Enregistre un message d’information dans le journal.
- Paramètres:
message (str) – le message à enregistrer au niveau INFO.
- warning(message: str)[source]
Enregistre un message d’alerte dans le journal.
- Paramètres:
message (str) – le message à enregistrer au niveau WARNING.
- error(message: str)[source]
Enregistre un message d’erreur dans le journal.
- Paramètres:
message (str) – le message à enregistrer au niveau ERROR.
- critical(message: str)[source]
Enregistre un message d’alerte critique dans le journal.
- Paramètres:
message (str) – le message à enregistrer au niveau CRITICAL.
- src.smart_watch.core.Logger.create_logger(module_name: str = 'main', outputs: List[str] | None = None) SmartWatchLogger [source]
Crée et retourne une instance de SmartWatchLogger pour le module spécifié.
Cette fonction permet de configurer les sorties du logger (fichier, console) en fonction de la liste fournie. Si aucune liste n’est donnée, toutes les sorties disponibles sont utilisées par défaut. Les sorties non reconnues sont ignorées avec un avertissement.
- Paramètres:
- Renvoie:
instance configurée du logger pour le module spécifié.
- Type renvoyé:
- Avertissements:
Affiche un avertissement dans la console si certains éléments de `outputs` ne sont pas reconnus.