import logging import logging.config from log_with_context import add_logging_context, Logger logging.config.dictConfig({ "version": 1, "disable_existing_loggers": True, "formatters": { "json": {"()": "json_log_formatter.JSONFormatter"}, }, "handlers": { "console": { "formatter": "json", "class": "logging.StreamHandler", } }, "loggers": { "": {"handlers": ["console"], "level": "INFO"}, }, }) LOGGER = Logger(__name__) LOGGER.info("First message. No context") with add_logging_context(current_request="hi"): LOGGER.info("Level 1") with add_logging_context(more_info="this"): LOGGER.warning("Level 2") LOGGER.info("Back to level 1") LOGGER.error("No context at all...")