Logs
Per-request LLM logs with body logging when enabled, provider, model, API key, tokens, cost, latency, status, and time filters.
What are opengateway Logs?#
Logs are the per-request record of every call through the Gateway. Each entry includes request/response body when body logging is enabled, the requested and served model, provider, token counts, latency, cost, and status.
Where to find it#
The log viewer lives at opengateway.ai/logs after you log in.
What is in each log entry#
Every request through the Gateway creates one log entry. Each entry contains:
| Field | Description |
|---|---|
job_id | Unique request ID. Matches the Chat Completions response id. |
timestamp | When the request arrived. |
api_key | Which key made the call. Redacted after the prefix. |
requested_model | The model your code asked for. |
served_model | The model that actually ran. Different if a fallback fired. |
provider | The upstream provider that served the response. |
latency_ms | First-byte latency and total latency. |
status | Success or failure status for the recorded attempt. |
prompt_tokens, completion_tokens | Token counts. |
cost_usd | Full cost for the request. |
input | The request body when team body logging is enabled. |
output | The response body when team body logging is enabled. |
tool_calls | Any tool calls the response contained. |
Filters#
The logs API and UI support structured filters such as:
- job ID
- status
- provider
- owner
- model ID
- API key
x-opengateway-user-idx-opengateway-session-id- time range
Privacy#
Team Settings controls body logging. When body logging is off, request and response bodies are not stored, but metadata such as model, provider, tokens, status, and latency remains available.
The debugging flow#
When a user complains about a strange response, the usual flow is:
- Ask for the timestamp, or at least an approximate time.
- Open Logs and filter to the minute in question.
- Find the request and copy
job_id. - Inspect the input, output, which model ran, the cost, the latency, and the fallback reason if one fired.
In practice it takes about a minute. You do not have to switch between five dashboards to piece it together.
See also#
- Dashboard for the aggregate view.
- Chat Completions for the error code reference.