Run

Logs from every service, together.

Functions, auth, and queues stream their stdout and stderr to one place you tail straight from the CLI.

$ shovelbase logs functions --since 15m
12:04 hooks 200 order 8821 processed
12:05 hooks 500 stripe timeout — retrying
One stream

Functions, auth, and jobs all log to the same place — no hunting across services.

Tail from the CLI

Run one command and read what just happened, live as it streams.

No SSH

You never touch a server to see what your backend is doing.

1Logs

Every service in one stream

Functions, auth, and jobs all write to the same place, so you stop hunting across services to piece together what happened.

  • One place to look No jumping between services to piece it together.

  • Live as it happens Watch the lines stream in as they're written.

12:04hooks200order 8821 processed
12:04auth200user signed in
12:05hooks500stripe timeout — retrying
12:05jobs200email sent
2Logs

Read it without touching a server

Run one command and read what just happened — no SSH, no console to dig through, no server to log into.

  • One command Tail the logs from the CLI and read them live.

  • Never touch a box You never log into a server to see what's going on.

$ shovelbase logs functions --since 15m
12:04 hooks 200 order 8821 processed
12:05 hooks 500 stripe timeout — retrying

What you'd build with it

The kind of problem Logs is there to solve.

Use case
Find out why that checkout failed

A user reports a payment that didn’t go through; tail the logs and there’s the Stripe timeout, right when it happened.

Use case
Watch a new release in real time

Ship a change and read what your backend does with real traffic, live as the lines stream in.

Use case
Debug without ever touching a server

See what auth, functions, and jobs are doing from one command — no SSH, no console to dig through.

No log drain to configure, no observability vendor to wire up. Every service's logs are already here.

Compare shovelbase →

The rest of the stack