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}")