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.LOG_DIR

Répertoire de stockage des fichiers de log

Type:

str

logger.DEBUG_LOG_FILE

Chemin vers le fichier de log de debug

Type:

str

logger.ERROR_LOG_FILE

Chemin vers le fichier de log d’erreur

Type:

str

logger.logger

Logger principal configuré pour l’application

Type:

logging.Logger

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:

int

logger.DEBUG_LOG_FILE: Final[str] = 'logs/debug.log'

Chemin complet vers le fichier de log de debug.

Type:

str

logger.ERROR_LOG_FILE: Final[str] = 'logs/errors.log'

Chemin complet vers le fichier de log d’erreur.

Type:

str

logger.LOG_DIR: Final[str] = 'logs'

Répertoire de stockage des fichiers de log.

Type:

str

logger.MAX_LOG_SIZE: Final[int] = 5242880

Taille maximale des fichiers de log avant rotation (5 MB).

Type:

int

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 ; utilisez enable_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 à DEBUG pour 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é:

logging.Logger

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:

logging.Logger