Skip to content

Stacked LoggerAdapters cause TypeError when inner adapter has extra=None #138162

@danoan

Description

@danoan

Bug report

Bug description:

When stacking LoggerAdapter instances in Python's logging module, an exception occurs if the inner adapter is initialized with extra=None. Specifically, the following code:

import logging

logging.basicConfig(level=logging.DEBUG, format="%(user)s %(message)s")

base_logger = logging.getLogger("base")

adapter_a = logging.LoggerAdapter(base_logger, extra={"user": "alice"}, merge_extra=True)
adapter_b = logging.LoggerAdapter(adapter_a)

# This raises: TypeError: 'NoneType' object is not a mapping
adapter_b.debug("Something")

CPython versions tested on:

3.13

Operating systems tested on:

Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    stdlibStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or error

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions