import sys import os from loguru import logger def setup_logging(log_level: str = "INFO"): # Create logs directory if it doesn't exist log_dir = "logs" os.makedirs(log_dir, exist_ok=True) # Clear any default logger configurations logger.remove() # Console handler: colorized output with a nice format logger.add( sys.stdout, colorize=True, format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{line} - {message}", level=log_level, ) # File handler: logs to file with rotation, retention, and compression for production logger.add( os.path.join(log_dir, "devpilot.log"), rotation="10 MB", # Rotate after 10 MB retention="10 days", # Keep logs for 10 days compression="zip", # Compress archived logs format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{line} - {message}", level=log_level, )