File size: 1,175 Bytes
7b4cc2e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | """Betterstack logging for API endpoint calls."""
import os
import time
from datetime import datetime, timezone
import requests
BETTERSTACK_URL = "https://in.logs.betterstack.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,
"original_text": original_text,
"formatted_text": formatted_text,
"time_elapsed": round(time_elapsed, 4),
"request_date": datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S"),
"level": "info"
}
try:
requests.post(
BETTERSTACK_URL,
json=payload,
headers={
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
},
timeout=5,
)
except Exception:
pass
|