sv-task / src /logger.py
lamossta's picture
logger and main classes for fe and be
61af0ed
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}")