""" Logging utilities """ import logging import sys from pathlib import Path from typing import Optional def setup_logger( name: str = "hf_agent", level: int = logging.INFO, log_file: Optional[Path] = None ) -> logging.Logger: """Setup and configure logger""" logger = logging.getLogger(name) logger.setLevel(level) # Remove existing handlers logger.handlers = [] # Console handler console_handler = logging.StreamHandler(sys.stdout) console_handler.setLevel(level) console_format = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) console_handler.setFormatter(console_format) logger.addHandler(console_handler) # File handler if log_file specified if log_file: log_file.parent.mkdir(parents=True, exist_ok=True) file_handler = logging.FileHandler(log_file) file_handler.setLevel(level) file_handler.setFormatter(console_format) logger.addHandler(file_handler) return logger