Beacon CLI
Live-tail logs from your terminal.
The Beacon CLI is a small Node script you can install in one curl. Sign in once with email OTP, then stream any service in real time, filter by level, grep, or pipe to jq.
Why the binary is called logwatch
The CLI binary is named
logwatch for backward compatibility — existing shell aliases, CI scripts, and saved commands keep working. The product is Beacon; the binary just kept its original identifier.Install
shell
$ curl -fsSL https://beacon.repoless.com/install | sh
# downloads to ~/.logwatch/bin/logwatch
# add ~/.logwatch/bin to PATH if it isn't already
$ export PATH="$HOME/.logwatch/bin:$PATH"The script is idempotent — rerun it to update.
logwatch login
Prompts for your email and a 6-digit OTP, then writes a session token to ~/.logwatch/token (mode 0600). Same OTP system as the dashboard — sign in once for both.
shell
$ logwatch login
email: you@example.com
code: 123456
✓ signed in as you@example.comlogwatch apps
Lists every service you have access to, with line count.
shell
$ logwatch apps
SERVICE LINES LAST SEEN
acme-api-web 1,293,521 just now
acme-api-worker 224,146 19s ago
acme-checkout-web 81,002 2m ago
…logwatch tail
Streams live log lines for a service. Multiple flag combinations:
--since 30m— replay before tailing (e.g. last 30 minutes, 1h, 24h)--filter level=error— facet filters--grep PATTERN— regex onmsg--json— machine-readable NDJSON output (pipe to jq)--server URL— override server (defaults tohttps://beacon.repoless.com)
shell
$ logwatch tail acme-api-web
[14:02:11] acme-api-web GET /v1/users 200 · 18ms
[14:02:11] acme-api-web GET /v1/orders 200 · 24ms
[14:02:12] acme-api-web POST /v1/checkout 500 · 1240mslogwatch logout
Removes the local token and revokes the session server-side. Useful when you've been signed in on a shared machine.
shell
$ logwatch logout
✓ signed outToken & env
~/.logwatch/token— session token written bylogin.LOGWATCH_TOKEN— environment variable; overrides the file. Useful in CI.--token VALUE— flag; overrides both file and env.
Recipes
Slow requests in the last 5 minutes
shell
$ logwatch tail acme-api-web --since 5m --json \
| jq 'select(.duration_ms > 100)'Errors only, with color
shell
$ logwatch tail acme-api-web --filter level=errorTail multiple services side-by-side
shell
# Use shell job control
$ logwatch tail acme-api-web &
$ logwatch tail acme-api-worker &
$ wait