bc-test / src /logger.py
lamossta's picture
readme, makefile, service files
7b4cc2e
"""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