import logging import sys from config.config import Config class Logger: def __init__(self): self.config = Config() self._setup_logger() def _setup_logger(self): """Setup the logger with appropriate formatting and level.""" self.logger = logging.getLogger("campusguide") self.logger.setLevel(getattr(logging, self.config.LOG_LEVEL.upper())) # Remove any existing handlers for handler in self.logger.handlers[:]: self.logger.removeHandler(handler) # Create console handler console_handler = logging.StreamHandler(sys.stdout) console_handler.setLevel(self.logger.level) # Create formatter formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) console_handler.setFormatter(formatter) # Add handler to logger self.logger.addHandler(console_handler) def get_logger(self): """Get the configured logger instance.""" return self.logger # Global logger instance logger = Logger().get_logger()