Logging and Auditing

2025-03-13 14:30:21 INFO: File 'example.txt' uploaded successfully
{
  "timestamp": "2025-03-13T14:30:21.123Z",
  "level": "info",
  "event": "file_uploaded",
  "filename": "example.txt",
  "file_size_bytes": 12345,
  "content_type": "text/plain",
  "ip_address": "192.168.1.1",
  "user_agent": "Mozilla/5.0"
}
@app.before_request
def log_request():
    """Log all incoming requests."""
    if not request.path.startswith('/static'):
        logger.info("request", 
                  method=request.method,
                  path=request.path,
                  ip=request.remote_addr,
                  user_agent=request.headers.get('User-Agent'))