cleanup and fix runtime bugs
This commit is contained in:
@@ -3,24 +3,20 @@ import sys
|
||||
from contextvars import ContextVar
|
||||
|
||||
|
||||
# Trace id хранится в контексте текущей операции.
|
||||
TRACE_ID: ContextVar[str] = ContextVar("trace_id", default="-")
|
||||
|
||||
|
||||
class TraceIdFilter(logging.Filter):
|
||||
# Подмешиваем trace_id в каждую log record.
|
||||
def filter(self, record: logging.LogRecord) -> bool:
|
||||
record.trace_id = TRACE_ID.get()
|
||||
return True
|
||||
|
||||
|
||||
def set_trace_id(trace_id: str) -> None:
|
||||
# Обновляем trace_id для текущего потока выполнения.
|
||||
TRACE_ID.set(trace_id)
|
||||
|
||||
|
||||
def setup_logging(level: str = "INFO", log_file: str | None = None) -> None:
|
||||
# Базовая настройка консольного и файлового логирования.
|
||||
handlers: list[logging.Handler] = [logging.StreamHandler(sys.stdout)]
|
||||
if log_file:
|
||||
handlers.append(logging.FileHandler(log_file, encoding="utf-8"))
|
||||
|
||||
Reference in New Issue
Block a user