llog GitHub Pricing
open source · AGPL-3.0

Every LLM call,
logged.

See exactly what your model was sent, what it said back, and what it cost — no SDK, no instrumentation. llog is a drop-in proxy for anything OpenAI- or Anthropic-compatible, hosted for you at your own subdomain.

The drop-in logger that captures what your model thought — reasoning traces from vLLM, DeepSeek and <think> tags that cloud-first tools leave on the floor.

coming soon · $9/mo · you.llog.ai · or self-host free today

app.py
client = OpenAI(
  base_url="https://you.llog.ai/v1",  api_key=os.environ["LLOG_KEY"],
)
# that's it — every call is now logged
you.llog.ai/ui
StatusTimeModel PromptTokensCost
SSE 14:32:08 llama-3.3-70b Rewrite this SQL migration to be reversible… 3,412 → …
200 14:31:52 qwen3.5:4b Extract the action items from this meeting transcript… 1,204 → 356 $0.0031
502 14:27:03 llama-3.3-70b Classify these 400 support tickets by urgency… 8,932 → —
200 14:25:38 llama-3.3-70b You are a code reviewer. Review the following diff… 2,881 → 940 $0.0102

Your live traffic at you.llog.ai/ui — every call searchable. That 502 at 14:27? A failed batch job you'd otherwise never see — click it and see exactly what was sent.

01

Sign up

Magic link, no password. Your instance boots at you.llog.ai with TLS.

02

Change one line

Point base_url at your instance. It proxies to your backend — llama.cpp, vLLM, Ollama, the Anthropic API, anything OpenAI- or Anthropic-compatible.

03

Debug

Every request, response, thread, thinking trace, tool call, image input, token count and cost — searchable in one UI.

Streaming passthrough

SSE streams flow through untouched. TTFT and token usage captured automatically.

Conversation threads

Follow a conversation, not scattered rows — multi-turn chats grouped into threads automatically.

Thinking traces & tool calls

See what the model thought and every tool it called — reasoning content, <think> tags and function calls, extracted and shown separately.

Cost tracking

Know what every experiment cost — computed retroactively across your whole history, at per-model rates you set.

Full-text search

Find that one weird response from last Tuesday — search every prompt and response you've ever sent. Filter by backend, model, status.

Multimodal inputs

Review the images and files sent to your model, rendered inline next to the prompt — not just a wall of base64.

Your data lives in your instance, nowhere else.

llog sits in front of your backend — here's exactly how it handles what passes through.

Isolated by design

Your logs live in a dedicated SQLite database inside your own instance. Never pooled, never shared across tenants.

Your key stays put

Your upstream API key lives in your instance's config and is used only to reach your backend.

Streams pass through untouched

llog records traffic — it doesn't rewrite it. SSE flows straight through to your client.

Self-hostComing soon

$0

docker compose up -d

  •   Same features, your infra
  •   AGPL-3.0 licensed
  •   SQLite, single container
  •   No account needed
View on GitHub