Initial commit
This commit is contained in:
50
logger_conf.py
Normal file
50
logger_conf.py
Normal file
@@ -0,0 +1,50 @@
|
||||
# logger_conf.py
|
||||
"""
|
||||
Configuration du logging pour agent_v0.
|
||||
|
||||
- Log vers console
|
||||
- Log vers fichier rotatif logs/agent_v0.log
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from logging.handlers import RotatingFileHandler
|
||||
|
||||
from config import LOG_FILE
|
||||
|
||||
|
||||
def setup_logging(level: int = logging.INFO) -> None:
|
||||
"""
|
||||
Configure le logging global de l'application.
|
||||
|
||||
À appeler une seule fois au démarrage (dans main.py).
|
||||
"""
|
||||
logger = logging.getLogger()
|
||||
|
||||
# Éviter de dupliquer les handlers si setup_logging est rappelé
|
||||
if logger.handlers:
|
||||
return
|
||||
|
||||
logger.setLevel(level)
|
||||
|
||||
formatter = logging.Formatter(
|
||||
"[%(asctime)s] [%(levelname)s] %(name)s: %(message)s"
|
||||
)
|
||||
|
||||
# Handler fichier rotatif
|
||||
file_handler = RotatingFileHandler(
|
||||
LOG_FILE,
|
||||
maxBytes=5 * 1024 * 1024, # 5 Mo
|
||||
backupCount=3,
|
||||
encoding="utf-8",
|
||||
)
|
||||
file_handler.setFormatter(formatter)
|
||||
logger.addHandler(file_handler)
|
||||
|
||||
# Handler console
|
||||
console_handler = logging.StreamHandler()
|
||||
console_handler.setFormatter(formatter)
|
||||
logger.addHandler(console_handler)
|
||||
|
||||
logging.getLogger(__name__).info("Logging initialisé. Fichier log = %s", LOG_FILE)
|
||||
Reference in New Issue
Block a user