Правки

This commit is contained in:
2026-03-07 17:21:27 +03:00
parent e055a6a09e
commit 93e9f4c37e
7 changed files with 347 additions and 168 deletions
+5 -2
View File
@@ -3,7 +3,10 @@ from __future__ import annotations
from abc import ABC, abstractmethod
from dataclasses import dataclass, field
from datetime import datetime, timezone
from typing import Any, Protocol
from typing import Any, Literal, Protocol
TraceLevel = Literal["INFO", "WARNING", "ERROR"]
def utc_now() -> datetime:
@@ -44,7 +47,7 @@ class TraceLogMessage:
step: str
status: str
message: str
level: str
level: TraceLevel
event_time: datetime = field(default_factory=utc_now)
attrs: dict[str, Any] = field(default_factory=dict)
+6 -5
View File
@@ -9,6 +9,7 @@ from app_runtime.contracts.trace import (
TraceContext,
TraceContextFactory,
TraceContextRecord,
TraceLevel,
TraceLogMessage,
TraceTransport,
utc_now,
@@ -86,13 +87,13 @@ class TraceService(TraceContextFactory):
def step(self, name: str) -> None:
self.store.set_step(str(name or ""))
def info(self, message: str, *, status: str, attrs: dict[str, Any] | None = None) -> None:
def info(self, message: str, *, status: str | None = None, attrs: dict[str, Any] | None = None) -> None:
self._write_message("INFO", message, status, attrs)
def warning(self, message: str, *, status: str, attrs: dict[str, Any] | None = None) -> None:
def warning(self, message: str, *, status: str | None = None, attrs: dict[str, Any] | None = None) -> None:
self._write_message("WARNING", message, status, attrs)
def error(self, message: str, *, status: str, attrs: dict[str, Any] | None = None) -> None:
def error(self, message: str, *, status: str | None = None, attrs: dict[str, Any] | None = None) -> None:
self._write_message("ERROR", message, status, attrs)
def exception(self, message: str, *, status: str = "failed", attrs: dict[str, Any] | None = None) -> None:
@@ -142,9 +143,9 @@ class TraceService(TraceContextFactory):
def _write_message(
self,
level: str,
level: TraceLevel,
message: str,
status: str,
status: str | None,
attrs: dict[str, Any] | None,
) -> None:
active = self.store.current()