import json import logging from datetime import datetime from typing import Any from app.core.database import execute_query logger = logging.getLogger(__name__) def log_system_event(*, source: str, event_type: str, summary: str, status: str = "info", correlation_id: str | None = None, user_id: int | None = None, details: dict[str, Any] | None = None, occurred_at: datetime | None = None) -> None: """Best-effort operational event logging; logging must never break the source flow.""" try: execute_query( """INSERT INTO system_event_log(source,event_type,status,summary,correlation_id,user_id,details,occurred_at) VALUES(%s,%s,%s,%s,%s,%s,%s::jsonb,COALESCE(%s,NOW()))""", (source,event_type,status,summary,correlation_id,user_id,json.dumps(details or {},default=str),occurred_at), ) except Exception as exc: logger.warning("Could not persist system event %s: %s", event_type, exc)