""" Logging utilities (local-only friendly). """ import logging import os from logging.handlers import RotatingFileHandler def setup_logger(): """Configure global logs""" log_level = os.getenv('LOG_LEVEL', 'INFO') log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig( level=getattr(logging, log_level.upper()), format=log_format ) # Filter werkzeug's INFO level logs (reduce noise) # Only keep WARNING and above levels werkzeug_logger = logging.getLogger('werkzeug') werkzeug_logger.setLevel(logging.WARNING) # Filter INFO level logs for kline routes (reduce noise) # Only keep WARNING and above levels kline_logger = logging.getLogger('app.routes.kline') kline_logger.setLevel(logging.WARNING) # Create log directory log_dir = 'logs' if not os.path.exists(log_dir): os.makedirs(log_dir) # Add file handler file_handler = RotatingFileHandler( os.path.join(log_dir, 'app.log'), maxBytes=10*1024*1024, # 10MB backupCount=5, encoding='utf-8' ) file_handler.setFormatter(logging.Formatter(log_format)) logging.getLogger().addHandler(file_handler) def get_logger(name: str) -> logging.Logger: """ Get the logger with the specified name Args: name: logger name Returns: Logger instance """ return logging.getLogger(name)