Skip to content

Logging API

Logging configuration for the OMOP stack.

LoggingConfig

Bases: BaseModel

Logging overrides from the [logging] section of config.toml.

level overrides the verbosity-derived level for all OMOP loggers. loggers applies fine-grained level overrides to specific named loggers (e.g. {"sqlalchemy.engine": "INFO"}).

RedactingFormatter

Bases: Formatter

Logging formatter that redacts sensitive key=value pairs from log messages.

configure_logging

configure_logging(
    config: LoggingConfig | _HasLoggingConfig | None = None,
    *,
    verbosity: int = 0,
    extra_namespaces: list[str] | None = None,
    console: Any = None,
) -> None

Configure Python logging for the OMOP stack.

Safe to call multiple times; re-applying the same arguments is idempotent.

Parameters

config: A LoggingConfig or a StackConfig (logging block extracted automatically). When config.level is set it takes precedence over verbosity. verbosity: Number of -v flags passed by the user. 0 → WARNING, 1 → INFO, 2+ → DEBUG. extra_namespaces: Additional logger namespaces to configure alongside oa_configurator. Pass your package name here, e.g. extra_namespaces=["omop_graph"].

get_logger

get_logger(name: str) -> logging.Logger

Return a named logger; single import point for consuming packages.