Spaces:
Sleeping
Sleeping
File size: 965 Bytes
b2be963 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import json
import os
from datetime import datetime
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
AUDIT_LOG_FILE = os.path.join(BASE_DIR, "backend", "logs", "audit_trail.json")
def log_audit_event(action: str, details: str, metadata: dict = None, severity: str = "INFO"):
"""Log an event to the system console for cloud observability."""
try:
entry = {
"timestamp": datetime.utcnow().isoformat(),
"action": action,
"details": details,
"severity": severity,
"metadata": metadata or {"system_context": "automated_event"}
}
# In stateless environment, we log to stdout for cloud logging systems (like HF logs)
print(f">>> [AUDIT] {json.dumps(entry, ensure_ascii=False)}")
except Exception as e:
print(f"Error logging audit event: {e}")
except Exception as e:
print(f"Error logging audit event: {e}")
|