Source code for bapred.logger

"""
Logging configuration for BA-Pred
"""
import logging
import sys
from typing import Optional

[docs] def setup_logger( name: str = "bapred", level: int = logging.INFO, format_string: Optional[str] = None ) -> logging.Logger: """ Set up a logger with consistent formatting. Args: name: Logger name level: Logging level format_string: Custom format string Returns: Configured logger instance """ logger = logging.getLogger(name) # Avoid adding multiple handlers if logger.handlers: return logger logger.setLevel(level) # Create console handler handler = logging.StreamHandler(sys.stdout) handler.setLevel(level) # Create formatter if format_string is None: format_string = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" formatter = logging.Formatter(format_string) handler.setFormatter(formatter) # Add handler to logger logger.addHandler(handler) return logger
# Create default logger instance logger = setup_logger()