Error tracking shouldn't be its own distributed system
The hosted trackers meter every event and keep your stack traces on their servers. The self-hosted one is famously heavy. Between them sits a gap: a tracker you run yourself, in one process, next to one database.
Kafka ← event bus ClickHouse ← event store Redis ← queues, TTL PostgreSQL ← metadata 20+ services ← keep them alive
logor + xcon-db one ingest door one console two binaries to run
The tracker's whole job, none of its ceremony
Sentry-SDK compatible
The ingest door speaks the Sentry envelope protocol with DSN keys. Python, Go, JS, Rust — if it has a Sentry SDK, it already reports to logor.
Issues, grouped
Errors group by fingerprint into issues — first seen, last seen, count, and the open / resolved / ignored states your triage actually uses.
Live log tail
Batched JSON log ingest with a recent view and a live tail streamed over SSE — the terminal feeling, in the browser, across services.
Mail alerts
A new issue mails you from your own node. Rules per project; no third party in the loop.
Retention by partition
Old events leave as whole dropped partitions — an O(1) operation. Nothing slows down as history grows.
Free to run
logor is free to use with a community license tied to your email. No payment, no feature gates, no event metering.
curl -fsSL https://apt.logor.cloud/install.sh | sudo sh
The installer prints the wizard's address and its one-time setup key. Full steps in the installation guide.