logger module¶
Module de configuration du système de logging pour l’application d’analyse culinaire.
Ce module configure un système de logging avec rotation des fichiers pour séparer les logs de debug et d’erreur, avec affichage optionnel en console.
Exemple
Utilisation basique du logger:
from src.logger import logger
logger.info("Application démarrée")
logger.error("Erreur lors du traitement")
logger.debug("Information de débogage")
- logger.logger¶
Logger principal configuré pour l’application
- Type:
Note
Les fichiers de log utilisent une rotation par taille (500 bytes) avec conservation de 2 fichiers de sauvegarde. Ils sont stockés dans le répertoire /logs, créé pour cette utilisation.
- logger.BACKUP_COUNT: Final[int] = 3¶
Nombre de fichiers de sauvegarde à conserver lors de la rotation.
- Type:
- logger.DEBUG_LOG_FILE: Final[str] = 'logs/debug.log'¶
Chemin complet vers le fichier de log de debug.
- Type:
- logger.ERROR_LOG_FILE: Final[str] = 'logs/errors.log'¶
Chemin complet vers le fichier de log d’erreur.
- Type:
- logger.MAX_LOG_SIZE: Final[int] = 5242880¶
Taille maximale des fichiers de log avant rotation (5 MB).
- Type:
- logger.disable_logging() None[source]¶
Désactive temporairement le logging (utile pour les tests).
- Renvoie:
None.- Type renvoyé:
None
Note
Le niveau est fixé à
CRITICAL; utilisezenable_logging()pour rétablir la configuration.
- logger.enable_logging() None[source]¶
Réactive le logging après désactivation.
- Renvoie:
None.- Type renvoyé:
None
Note
Le niveau est remis à
DEBUGpour retrouver le comportement normal.
- logger.get_logger(name: str = 'webapp') Logger[source]¶
Récupère une instance du logger configuré.
- Paramètres:
name (str) – Nom du logger souhaité.
- Renvoie:
Logger configuré correspondant au nom demandé.
- Type renvoyé:
from src.logger import get_logger logger = get_logger(__name__) logger.info("Module initialisé")
- logger.logger: Logger = <Logger webapp (DEBUG)>¶
Logger principal de l’application, configuré avec rotation des fichiers.
Ce logger est directement utilisable après import:
Exemple
Import et utilisation directe:
from src.logger import logger logger.info("Message d'information") logger.error("Message d'erreur") logger.debug("Message de debug")
Note
Les logs DEBUG vont dans logs/debug.log
Les logs ERROR+ vont dans logs/errors.log
Les logs INFO+ s’affichent en console
- Type: