Spaces:
Sleeping
Sleeping
| 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}") | |