""" Enhanced logging configuration - Independent module """ import logging import os from pathlib import Path from logging.handlers import RotatingFileHandler def setup_logging(): """ 🔧 ENHANCED LOGGING SETUP """ logger = logging.getLogger('reasoning_system') log_level_str = os.getenv('LOG_LEVEL', 'INFO').upper() log_level = getattr(logging, log_level_str, logging.INFO) logger.setLevel(log_level) if logger.handlers: return logger # Console handler console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) console_format = logging.Formatter( '%(asctime)s | %(levelname)-8s | %(message)s', datefmt='%H:%M:%S' ) console_handler.setFormatter(console_format) # File handler with rotation log_dir = Path('logs') log_dir.mkdir(exist_ok=True) file_handler = RotatingFileHandler( log_dir / 'reasoning_system.log', maxBytes=10*1024*1024, backupCount=5, encoding='utf-8' ) file_handler.setLevel(logging.DEBUG) file_format = logging.Formatter( '%(asctime)s | %(levelname)-8s | %(name)s:%(lineno)d | %(message)s', datefmt='%Y-%m-%d %H:%M:%S' ) file_handler.setFormatter(file_format) # Error-only file handler error_handler = RotatingFileHandler( log_dir / 'errors.log', maxBytes=5*1024*1024, backupCount=3, encoding='utf-8' ) error_handler.setLevel(logging.ERROR) error_handler.setFormatter(file_format) logger.addHandler(console_handler) logger.addHandler(file_handler) logger.addHandler(error_handler) logger.propagate = False return logger # Initialize logger at module level logger = setup_logging()