refactor: estructura limpia con __init__.py (Semanas 1-2)

- Añadido __init__.py en todas las carpetas
- Renombrado monitoring/ a utils/
- Eliminadas carpetas vacías/futuras
- Estructura base lista para Semanas 3-4
This commit is contained in:
DaM
2026-01-27 08:27:41 +01:00
parent 0091b302a1
commit cc6913168f
21 changed files with 5 additions and 20 deletions

0
src/utils/__init__.py Normal file
View File

0
src/utils/alerts.py Normal file
View File

51
src/utils/logger.py Normal file
View File

@@ -0,0 +1,51 @@
# src/monitoring/logger.py
"""
Sistema de logging centralizado para todo el bot
"""
from loguru import logger
import sys
from pathlib import Path
def setup_logger(log_level: str = 'INFO'):
"""
Configura el sistema de logging con rotación y formato
"""
# Remover handler por defecto
logger.remove()
# Console handler con colores
logger.add(
sys.stdout,
format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan> - <level>{message}</level>",
level=log_level,
colorize=True,
)
# File handler con rotación
log_path = Path("logs")
log_path.mkdir(exist_ok=True)
logger.add(
log_path / "trading_bot_{time:YYYY-MM-DD}.log",
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
level=log_level,
rotation="500 MB",
retention="30 days",
compression="zip"
)
# Error file separado
logger.add(
log_path / "errors_{time:YYYY-MM-DD}.log",
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
level="ERROR",
rotation="100 MB",
retention="90 days",
compression="zip"
)
logger.info("Logger inicializado correctamente")
return logger
# Instancia global
log = setup_logger()