Skip to content

getLogger

kedro_dagster.logging.getLogger(name=None)

Return a logger, preferring Dagster's logger when a run is active.

Parameters

Name Type Description Default
name str or None

Logger name, consistent with logging.getLogger.

None

Returns

Type Description
Logger

A standard logger instance. When a Dagster run is active, this is backed by Dagster's logging machinery.

See Also

kedro_dagster.dagster.LoggerCreator : Creates Dagster logger definitions from configuration.

Source Code

Show/Hide source
def getLogger(name: str | None = None) -> _logging.Logger:
    """Return a logger, preferring Dagster's logger when a run is active.

    Parameters
    ----------
    name : str or None, optional
        Logger name, consistent with ``logging.getLogger``.

    Returns
    -------
    logging.Logger
        A standard logger instance. When a Dagster run is active, this is
        backed by Dagster's logging machinery.

    See Also
    --------
    `kedro_dagster.dagster.LoggerCreator` :
        Creates Dagster logger definitions from configuration.
    """
    try:
        # If there's an active Dagster context, this will succeed
        context = dg.OpExecutionContext.get()
        if context:
            logger: _logging.Logger = dg.get_dagster_logger(name)
            return logger
    except Exception as e:  # Fallback if no active Dagster context
        _logging.debug(f"No active Dagster context: {e}")

    # Otherwise, fall back to Python logging
    return _logging.getLogger(name)