Free for your first app.
Self-hosted logging, with errors, alerts, and uptime built in. Your coding agent reads it too. No per-GB meter. $99 once for unlimited apps.
$ curl -fsSL lognorth.com/install | sudo bash -s logs.example.com
[01] the problem
Stop paying more to watch your app than to run it.
Hosted log platforms store and query billions of lines from thousands of customers at once. That scale is the hard part. It is also the part you don't have. You pay for it anyway.
[02] what it does
Logs do all of it.
One stream of logs does every job: errors, alerts, and what your coding agent reads. Uptime is a ping every minute. No second system.
NAME
lognorth - one stream of logs that alerts, monitors, and debugs. Your coding agent reads it too.
THE LOGS
- alert
- Compares each endpoint with its own history: this hour against the same hour on earlier days. Fires when it's actually wrong.
- monitor
- An outage shows up as silence: the traffic that stopped.
- debug
- Logs and errors in one stream. 1 issue, not 1,000 duplicates.
- connect
- Each issue says how many users it hit, the release it came in, and which error failed first in the same requests. Every deploy is a dashed line on the charts.
- replay
- An error shows what its user did in the 30 minutes before it: the steps to reproduce.
- ask
- Claude Code or Cursor reads production over MCP and hands you the fix.
- read
- Plain lines. Errors in red. Context attached. No grep.
- keep
- No per-GB meter, so you log everything. You pick retention, up to forever.
THE PING
- uptime
- Pings your URL every minute. Alerts after 3 misses in a row, and again when it's back. 30 days of pings: when it failed, and why.
- cause
- The down alert names the errors that jumped as the app went down. An error that happens all day is not a cause, so it stays out.
- status
- A public page per product, on its own domain: the uptime since the first ping, 90 days of bars, the outages, and your notes on them.
COMMANDS
- north tail
- your production log, live, in the terminal
- north top
- endpoints, alerts, and uptime, like htop
- ctrl+b, :
- every screen in the app, from the keyboard. ? lists the keys
- :theme amber
- north, catppuccin, gruvbox, nord, dracula, or a 1983 amber terminal. Press t on this page
ALERTS GO TO
- telegram
- bot token + chat id
- webhook
- a JSON POST per alert: Grok Bot, Slack, your own endpoint
- ntfy.sh
- free push, no account
- your own SMTP
SDKS
Another language? Follow the client protocol, or run /lognorth:integrate in your coding agent and it writes the client.
SEE ALSO
One thing that isn't a log: a ping to your URL every minute. Click a failed minute and you get its errors.
up 84ms · last ping 12s ago
last failure 15:21 · 503 · 1,204ms
[03] autofix
Alert at 3am. Fixed by breakfast.
A LogNorth alert starts a Grok Bot routine through the webhook. The bot reads the failing requests over MCP, writes the fix with a test, and opens a pull request. LogNorth watches production until the alert clears. You wake up to a closed incident.
- 01 [lognorth] alert /checkout 8% vs 1%
- 02 [lognorth] webhook POST to the routine
- 03 grok bot investigate logs, trace, commits
- 04 grok bot fix branch + failing test
- 05 grok bot pull request #412 with the evidence
- 06 grok bot ship CI, merge, deploy
- 07 [lognorth] verify 0.9% since the deploy
- 08 [lognorth] closed alert clears, report sent
[04] terminal
Production, in your terminal.
north tail follows the log. north top is htop for your app. Both run on your laptop and read your server with a read-only key. Open source, MIT.
[lognorth] top · rails-demo · logs.yoursite.com■ up 84ms · 15:04:22
uptime 24h 99.93%
SPIKE /checkout 18.2% errors in the last 5 min, normally 0.9% · since 15:01
PATHREQSERRORSERR%AVG
> /checkout SPIKE 1,204 219 18.2% 850ms
/projects/:id/todos 3,210 4 0.1% 38ms
/sessions 827 1 0.1% 179ms
/dashboard 612 0 — 142ms
/webhooks/stripe 203 0 — 52ms
j/k move · enter errors · w window · q quitupdated 2s ago
$ curl -fsSL lognorth.com/cli | sh # then it asks for your URL and agent key $ north tail --errors $ north top
[05] alerting
Percentages lie.
Most tools alert on a flat threshold like 5%. Same number, two very different nights.
| hour | requests | errors | rate | verdict |
|---|---|---|---|---|
| 03:00 | 20 | 1 | 5% | noise |
| 12:00 | 10,000 | 500 | 5% | fire |
LogNorth compares each endpoint with its own past: the same hour on the last 7 days. It alerts when something is actually wrong.
[06] the math
Own it. The bill stops.
Free for one app, $99 once for more, plus a $5 box you own. Cancel a subscription and your logs are gone. You can't cancel what you own.
A small app at 12,000 requests a day. LogNorth: the $99 license, which the first app does not need, plus Hetzner's cheapest box at $5/mo. Hosted: a real entry plan at $26/mo with 90-day retention. That's the floor. Five years of request logs is about 7 GB.
[07] pricing
Free for one app. $99 once for all of them.
30-day money-back guarantee. No questions asked.
# free for your first app. no license, no signup.
curl -fsSL lognorth.com/install | sudo bash -s logs.example.com
# docker, TLS, live backups, nightly updates. done.
# amd64 or arm64: a $5 VPS, a Raspberry Pi,
# or any box you already rent.
# update now instead of waiting: run it again.
[08] faq
Questions.
What is LogNorth?
Who is it for, and who is it not for?
What are the limits?
What does it cost over five years, next to Sentry or Better Stack?
What is free, and what does $99 add?
Can I try it before I buy?
Does it monitor uptime?
Can my AI agent read the logs?
/lognorth:investigate, ready to paste. Your logs stay on your server: only the answer reaches your AI provider. How agents use LogNorth.Why not use Sentry?
What frameworks are supported?
/lognorth:integrate in your coding agent and it writes the client for you.How does alerting work?
Does it tell me which deploy or outage an error belongs to?
How long are logs stored?
Do I get updates?
[08] who
~ $ finger karloscodes
Plan:
Your logs hold your stack traces, file paths, and user IDs. They shouldn't sit on a vendor's server, billed by the gigabyte.
LogNorth runs on a box you own. You pay once. If something breaks, you email me.