# Ce fichier logging_config.py dans le dossier poc/utils : # Configuration du logging pour suivre le comportement de l'application. # Modifié par Didier pour l'adapter parfaitement au projet14 (Assistant de Caisse) # Didier : Évolution indispensable et pertinente ! Le nom de l'instance du logger # a été nettoyé de ses origines culturelles ("PulsEvents_RAG") pour devenir "LRCaisse_RAG". """ Module de configuration du système de journalisation (logging). Ce module permet de suivre le comportement de l'application de manière centralisée. Il configure un logger standard qui affiche les messages formatés dans la console, facilitant ainsi le débogage et la surveillance du pipeline RAG lors de l'indexation du corpus ou des conversations de caisse. """ # module standard Python qui gère les messages de journalisation import logging # pour afficher les logs dans la console import sys def setup_logging(): """ Configure et retourne le logger principal de l'application. Affiche les logs dans la console au format : '[HEURE] - [NIVEAU] - Message'. La fonction est idempotente : elle évite de dupliquer les handlers si elle est appelée plusieurs fois à travers différents modules. Returns: logging.Logger: L'instance configurée du logger nommé "LRCaisse_RAG". """ # Didier : Mutation pour le Projet 14 - Alignement du nom sur l'Assistant de Caisse logger = logging.getLogger("LRCaisse_RAG") # fixe le niveau de logging minimal à INFO logger.setLevel(logging.INFO) # Si le logger possède déjà des handlers, on le renvoie tel quel pour éviter les doublons if logger.hasHandlers(): return logger # Définition du format temporel et textuel des messages de traçabilité formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') # Envoi du flux d'informations directement sur la sortie standard de la console console_handler = logging.StreamHandler(sys.stdout) console_handler.setFormatter(formatter) logger.addHandler(console_handler) return logger