pulsesuite.libpulsesuite.logger

Thin wrapper around Python’s logging module with pulsesuite-specific log levels that mirror the Fortran logger.F90 hierarchy.

Usage

>>> from pulsesuite.core.logger import get_logger
>>> log = get_logger(__name__)
>>> log.info("standard message")        # LOGSTD equivalent
>>> log.debug2("inner-loop detail")     # custom level

Attributes

DEBUG2

DEBUG3

FORTRAN_LEVEL_MAP

Functions

get_logger(→ _PulseLogger)

Return a logger under the pulsesuite hierarchy.

set_level(→ None)

Set the log level for all pulsesuite loggers at once.

setup(→ None)

One-time setup: attach a stderr handler with the pulsesuite format.

Module Contents

pulsesuite.libpulsesuite.logger.DEBUG2 = 9
pulsesuite.libpulsesuite.logger.DEBUG3 = 8
pulsesuite.libpulsesuite.logger.FORTRAN_LEVEL_MAP
pulsesuite.libpulsesuite.logger.get_logger(name: str | None = None) _PulseLogger

Return a logger under the pulsesuite hierarchy.

If name is a fully qualified module name (e.g. pulsesuite.core.integrator), the logger inherits from the pulsesuite root logger so a single set_level() call controls everything.

pulsesuite.libpulsesuite.logger.set_level(level: int | str = logging.INFO) None

Set the log level for all pulsesuite loggers at once.

Accepts Python level ints/names or legacy Fortran integer levels (0-6).

pulsesuite.libpulsesuite.logger.setup(level: int | str = logging.INFO, stream=None) None

One-time setup: attach a stderr handler with the pulsesuite format.

Safe to call multiple times — extra calls are no-ops.