import logging from collections import namedtuple from logging.config import dictConfig class MyHandler(logging.StreamHandler): def __init__(self, resource, *args, **kwargs): super().__init__(*args, **kwargs) self.resource: namedtuple = resource def emit(self, record): record.msg += f" {self.resource.type}" return super().emit(record) Resource = namedtuple("Resource", ["type", "labels"]) resource = Resource(type="my_type", labels=["a"]) dictConfig({ "version": 1, "handlers": { "myhandler": { "class": "__main__.MyHandler", "resource": resource } }, "root": {"level": "INFO", "handlers": ["myhandler"]}, }) logging.info("some log")