| """Logging configuration for the analyzer.""" | |
| import logging | |
| import sys | |
| from typing import Optional | |
| def setup_logger(name: str, debug: bool = False) -> logging.Logger: | |
| """ | |
| Set up a logger instance with console output. | |
| Args: | |
| name: Logger name (typically __name__) | |
| debug: If True, set level to DEBUG; otherwise INFO | |
| Returns: | |
| Configured logger instance | |
| """ | |
| logger = logging.getLogger(name) | |
| level = logging.DEBUG if debug else logging.INFO | |
| logger.setLevel(level) | |
| # Console handler | |
| handler = logging.StreamHandler(sys.stdout) | |
| handler.setLevel(level) | |
| formatter = logging.Formatter( | |
| "%(asctime)s - %(name)s - %(levelname)s - %(message)s" | |
| ) | |
| handler.setFormatter(formatter) | |
| if not logger.handlers: | |
| logger.addHandler(handler) | |
| return logger | |