Source code for rocketpy.utils

import logging


[docs] def enable_logging(level="WARNING"): """Enable RocketPy logging output to the console. Attaches a StreamHandler to the ``rocketpy`` logger so that internal runtime events (simulation progress, warnings, errors) are printed to the terminal. Only RocketPy logs are affected — global/root logging is not modified. By default, only WARNING and above are shown. Parameters ---------- level : str, optional The minimum logging level to display. Options are "DEBUG", "INFO", "WARNING", "ERROR", and "CRITICAL". Default is "WARNING". Examples -------- Show only warnings and errors (default): >>> import rocketpy >>> rocketpy.utils.enable_logging() Show all internal runtime messages, including simulation progress: >>> import rocketpy >>> rocketpy.utils.enable_logging(level="DEBUG") Show confirmations like "Simulation completed" and "File saved": >>> import rocketpy >>> rocketpy.utils.enable_logging(level="INFO") """ numeric_level = getattr(logging, level.upper(), None) if not isinstance(numeric_level, int): raise ValueError(f"Invalid logging level: '{level}'") logger = logging.getLogger("rocketpy") # Remove any existing StreamHandlers to avoid duplicate messages logger.handlers = [ h for h in logger.handlers if not isinstance(h, logging.StreamHandler) ] logger.setLevel(numeric_level) handler = logging.StreamHandler() handler.setLevel(numeric_level) handler.setFormatter(logging.Formatter("%(levelname)s | %(name)s | %(message)s")) logger.addHandler(handler)