import contextvars import logging trace_id_vars = contextvars.ContextVar('trace_id', default='') class TraceIDLogRecord(logging.LogRecord): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.trace_id = trace_id_vars.get() logging.setLogRecordFactory(TraceIDLogRecord) logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(trace_id)s - %(message)s')