From 12,000 logs
to 3 issues triaged.
Before your coffee.
Owlogs ingests every Laravel log, event, queued job and notification, fingerprints them into deduplicated issues, and feeds your AI editor through MCP. Search hybrid. Triage with a kanban. Open a GitHub issue from the chat — with the full trace inside.
Every log. Every job. Every notification.
A Laravel request fans out across events, listeners, queues and notifications — often across workers and days. Owlogs ingests the firehose, fingerprints what matters, and hands the rest to your AI.
One request. One workflow.
We follow the causal chain: HTTP request → controller → dispatched events → listeners → queued jobs → notifications → mails. Every piece gets stitched together, even when a job finishes hours later on another worker.
Ship it all.
Every channel, every level — DEBUG, SQL, worker logs included. One service provider, zero config, no sampling.
Ask, don't grep.
Every workflow is embedded and indexed. "Refunds that silently dropped a notification last week" returns workflows, not log lines.
In your editor, natively.
A built-in MCP server lets Claude Code, Cursor or Zed pull workflows, errors and traces directly — no copy-paste.
Ready for the AI.
One click dumps the whole workflow: timeline, stack traces with file + line, payloads, job metadata. Paste, fix, ship.
Exceptions, N+1, slow queries — flagged automatically.
Owlogs scans every workflow as it lands. Repeated exceptions get grouped. N+1 patterns are detected from SQL traces. Slow queries and slow jobs are surfaced with their source workflow one click away.
12,000 logs in. Three issues out.
Every batch is fingerprinted automatically. Exceptions, N+1 patterns and slow queries group themselves into deduplicated issues — ready for a Monday-morning kanban with drag, pin, snooze, bulk move and undo.
Three ways to find a needle. One ranking.
Lexical full-text on PostgreSQL tsvector.
Semantic similarity on pgvector embeddings. Both fused by Reciprocal Rank Fusion,
then reranked for relevance — so the right line comes first.
Find it by name.
Find it by meaning.
Find what you missed.
Four steps. Maybe five minutes.
A real install: composer in, key out, MCP wired, first workflow visible. Same flow whether you're on local, staging or production.
Add the package.
One composer command. The service provider auto-registers, intercepts your Monolog stack, and forwards every channel — DEBUG and SQL included.
Drop your API key.
Generate a workspace key, paste it into your .env. Pick the environments you want to scope (production, staging, local).
Connect your AI editor.
Generate a personal token, paste the snippet into Cursor / Claude Code / Zed. Your agent gains 37 tools — search, traces, top issues, GitHub issues.
See your first workflow.
Ship a request. Owlogs stitches logs, events, queues and notifications into one trace. The kanban surfaces fingerprinted issues automatically.
See every query, event and job your code fires — without spinning up Telescope. Debug the full chain locally.
"User says notification never arrived." Open the workflow, see the guard that skipped it, ship the fix.
An exception fires: jump from the error to the originating HTTP request, see every side effect, export to AI.
Follow the thread. All the way to the job.
A single workflow view from the HTTP request down to the notification that never fired — searchable, MCP-ready, one click to Markdown.
Logs
All environments 184 entries ● 4 warningsA chat. Thirty-seven tools. One copilot.
The workspace chat is a real agent — it calls search_logs_hybrid,
opens issues, summarises stacktraces, compares deploys. Streaming SSE, multi-user
conversations, Fast or Deep mode per thread. Owlogs runs the AI — you just ask.
Stripe API upstream — p95 went from 220ms → 892ms. 412 requests degraded. Want me to open a GitHub issue?
Sub-agents
A trace your AI can actually fix.
One button on every workflow. The exporter assembles metadata, the full timeline, stack traces with file + line, context payloads, performance measures and breadcrumbs — then runs every secret through a redactor before it ever leaves the box.
One trace. The whole story.
The same exporter feeds the chat agent, the GitHub issue drafter and the MCP tools. Pay the assembly cost once, paste it everywhere.
password · token · key · secret
✓Authorization headers, cookies, sessions
✓Email addresses (masked, not removed)
✓Credit-card patterns
# MapleDesk Trace Export
AI Instructions
Read the referenced files for source context, then analyse the error summary, stacktraces and log entries below to propose a fix.
Trace `01KRQ…FAT4TV`
| Origin | http |
| URI | POST /contractor/orders/019e2bbb…/quote |
| Environment | production |
| App | MapleDesk |
| Git SHA | `19f9dc58` |
| IP | redacted |
| Queue | default · attempt 1 |
| Peak Memory | 55 MB |
| Duration | 2.04 s |
| Entry Count | 46 |
User Context
Request Input
Log Entries
Context · job.failed: DispatchOrderNotificationSent
Context · event.dispatched: QuoteCreated
Performance Measures
| s3.upload | 318.5 ms |
| pdf.render | 442 ms |
| mail.dispatch | 207 ms |
Breadcrumbs
OrderActivityController@createQuoteContractorOrderService@createQuoteSendBobdeskNoteOnQuoteCreatedCalculateOrderPriorityActionsOnQuoteCreated
An MCP server your editor already speaks to.
Connect once. Your AI can pull workflows, exceptions, slow queries and stack traces directly — no screenshots, no copy-paste, no missing context.
Claude Code
→ native MCP client
Cursor
→ MCP via settings
Zed AI
→ MCP slash command
GitHub Copilot
→ paste Markdown export
From a stacktrace to a triaged issue. Without leaving the chat.
Install the GitHub App on any org. Owlogs mints scoped JWTs on the fly — no stored tokens.
Issues flow back too: every internal issue tracks its GitHub number + state, kanban filters by linked / unlinked.
Pick an issue
From the kanban or the chat, ask the agent to open one.
AI drafts the body
Symptom, suspected cause, steps to reproduce — plus the full trace in a collapsed <details> block.
Checkout fails ~892ms…
<details> trace_id=a82f </details>
Pushed to your repo
Per-repo write toggle. The issue gets github_issue_number back; status syncs both ways.
Built for teams that care about audit.
Owlogs is multi-tenant by construction. Logs never leave your shard, secrets never touch our DB, every sensitive action is logged with a user id and timestamp.
Postgres shards
Stancl/Tenancy with per-workspace database. Tiered shards route US to US, EU to EU.
2FA, Passkeys, OAuth
TOTP, recovery codes, WebAuthn passkeys, GitHub / Google login or linking.
4 roles, audit trail
Owner / Admin / Member / Billing. Every role change tracked via Spatie ActivityLog.
Scoped API keys
Named tokens per workspace (Production, Staging, CI) — revoke independently.
PII-safe Markdown
Auto-redact password / token / key fields before any AI export.
Redis O(1)
Quota checked in O(1) before ingestion — no DB hit, no rate-limit surprise.
Activity Log
Export 6 months of workspace activity to CSV for compliance.
EU-hosted
Primary region in EU · GDPR-compliant data centres · daily encrypted backups.
Priced by volume. Not per seat.
Every plan includes unlimited team members and every feature. Pay for what you log.
- ✓6.2 M logs / month
- ✓8 M owlogs tokens / month
- ✓7 days DEBUG/INFO retention
- ✓30 days WARNING/ERROR retention
- ✓Unlimited semantic search
- ✓Standard AI chat
- ✓20 M logs / month
- ✓15 M owlogs tokens / month
- ✓30 days DEBUG/INFO retention
- ✓90 days WARNING/ERROR retention
- ✓Deep chat mode
- ✓Priority email support
- ✓60 M logs / month
- ✓20 M owlogs tokens / month
- ✓60 days DEBUG/INFO retention
- ✓180 days WARNING/ERROR retention
- ✓Multi-project, unlimited team members
- ✓Audit log (compliance-friendly)
Common questions.
composer.json, set OWLOGS_KEY in your env, and we hijack your Monolog stack. Two minutes to first workflow — every channel, every level, including DEBUG and query logs.tsvector, semantic similarity via pgvector embeddings, and a Reciprocal Rank Fusion that mixes both, finally reranked for relevance. Hash-deduplication keeps embedding costs minimal.search_logs_hybrid, get_trace, top_issues, github_create_issue and more.password, token, key, secret and credit-card patterns before anything leaves the box. The chat agent uses the same exporter — paid once, applied everywhere.
Stop grepping.
Start reading workflows.
14 days free. No credit card. Two minutes to stitch your first Laravel request end-to-end — and hand it to your AI.