Files
letta-server/letta/log_context.py
Kian Jones ea3248593c feat(logs): Enrich logs with context-aware primtive types (#5949)
* enrich logs with context-aware primtive types

* Delete apps/core/docs/LOG_CONTEXT.md
2025-11-13 15:36:55 -08:00

34 lines
758 B
Python

from contextvars import ContextVar
from typing import Any, Optional
_log_context: ContextVar[dict[str, Any]] = ContextVar("log_context", default={})
def set_log_context(key: str, value: Any) -> None:
ctx = _log_context.get().copy()
ctx[key] = value
_log_context.set(ctx)
def get_log_context(key: Optional[str] = None) -> Any:
ctx = _log_context.get()
if key is None:
return ctx
return ctx.get(key)
def clear_log_context() -> None:
_log_context.set({})
def update_log_context(**kwargs: Any) -> None:
ctx = _log_context.get().copy()
ctx.update(kwargs)
_log_context.set(ctx)
def remove_log_context(key: str) -> None:
ctx = _log_context.get().copy()
ctx.pop(key, None)
_log_context.set(ctx)