Files
MT/logger.py
T
2026-07-01 20:39:27 +00:00

40 lines
1.1 KiB
Python

import logging
import config
def get_logger(name: str) -> logging.Logger:
"""
Configura y devuelve una instancia de logger centralizada.
Aplica la Regla 7: Reemplaza prints por logging silencioso y robusto.
Args:
name (str): Nombre del módulo que solicita el logger.
Returns:
logging.Logger: Instancia del logger configurado.
"""
logger = logging.getLogger(name)
if not logger.handlers:
logger.setLevel(logging.DEBUG)
# File handler
fh = logging.FileHandler(config.LOG_FILE, encoding='utf-8')
fh.setLevel(logging.INFO)
# Console handler (para desarrollo, aunque sin prints sueltos)
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
# Format
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
return logger