decomposer: generate deliverable files for Define the service contract and project architecture for the FastAPI endpoint monitoring service.; Implement the typed monitor CRUD API and concurrency-safe in-memory state according to the service design.; Implement secure on-demand endpoint checks with status updates, latency measurement, robust error handling, and redacted structured logs.; Add operational API endpoints and environment-driven runtime configuration to the monitoring service.; Create automated tests for the monitoring service.; Package the service with Docker and developer documentation.; Validate the complete project.
Some checks failed
ci / validate (push) Has been cancelled

This commit is contained in:
2026-08-09 15:46:47 +00:00
parent 7b63047d64
commit 1a2d954365

View File

@@ -9,12 +9,14 @@ class JsonFormatter(logging.Formatter):
payload: dict[str, Any] = { payload: dict[str, Any] = {
"timestamp": datetime.now(UTC).isoformat(), "timestamp": datetime.now(UTC).isoformat(),
"level": record.levelname, "level": record.levelname,
"logger": record.name,
"message": record.getMessage(), "message": record.getMessage(),
} }
event_data = getattr(record, "event_data", None) for key in ("event", "monitor_id", "url", "state", "latency_ms", "status_code"):
if isinstance(event_data, dict): value = getattr(record, key, None)
payload.update(event_data) if value is not None:
return json.dumps(payload, default=str, separators=(",", ":")) payload[key] = value
return json.dumps(payload, default=str)
def configure_logging(level: str) -> None: def configure_logging(level: str) -> None: