Source code for astra.log

import logging
import sys


[docs] def get_logger(name: str) -> logging.Logger: """ Returns a configured professional logger for ASTRA-Core. Args: name: The name of the module (e.g., __name__) Returns: logging.Logger: The configured logger instance. """ logger = logging.getLogger(name) # Prevent duplicate handlers if get_logger is called multiple times if not logger.hasHandlers(): handler = logging.StreamHandler(sys.stdout) handler.setLevel(logging.INFO) # Professional standard format formatter = logging.Formatter( "%(asctime)s | %(levelname)-7s | %(name)s | %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) handler.setFormatter(formatter) logger.addHandler(handler) # Default level is INFO logger.setLevel(logging.INFO) # Prevent propagation to the root logger to avoid double-printing logger.propagate = False return logger