import os import time from datetime import datetime, timezone import requests BETTERSTACK_URL = "https://s2383648.eu-fsn-3.betterstackdata.com" def log_to_betterstack( endpoint_name: str, original_text: str, formatted_text: str | dict, model_name: str, time_elapsed: float, ) -> None: token = os.environ.get("BETTERSTACK_SOURCE_TOKEN") if not token: return payload = { "dt": datetime.now(timezone.utc).isoformat(), "message": f"Endpoint called: {endpoint_name}", "endpoint_name": endpoint_name, "model_name": model_name, "request": original_text, "response": formatted_text, "time_elapsed": round(time_elapsed, 4), "request_date": datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S"), "level": "info" } try: resp = requests.post( BETTERSTACK_URL, json=payload, headers={ "Authorization": f"Bearer {token}", "Content-Type": "application/json", }, timeout=5, ) if resp.status_code >= 300: print(f"[betterstack] {resp.status_code}: {resp.text}") except Exception as e: print(f"[betterstack] exception: {e}")