I'm a big fan of fly.io. It's simple and offers just enough out of the box to cover everything you'll need. For example fly offers grafana metrics and logging for all your machines, which is really useful.
I liked the idea of starting up a web server and getting a really neat place to view the logs for occasional viewing. I brainstormed on this a bit and realized there's a fairly simple and elegant way to get something similar working using tooling we already use just about everywhere: SSH.
So I built logg.sh - a minimal logging service that works over SSH. No SDKs, no complex setup, just pipe your logs and go.
The Idea
The concept is simple: SSH is everywhere, secure by default, and everyone knows how to use it. What if logging was as simple as:
your-app | ssh logg.sh stream myapp
That's it. Your logs are now available at https://username.logg.sh/myapp
with a clean interface for searching, filtering, and sharing.
Why It Works
I've found that many developer tools try to do too much. They start simple but inevitably grow into complex behemoths with hundreds of features most people never use. You might be able to tell from publite.me that I like the idea of minimalism on the web.
logg.sh does one thing: it accepts your logs over SSH and makes them searchable in a browser. That's it.
The beauty of SSH is that it provides authentication, encryption, and compression out of the box. No need to implement complex APIs or SDKs etc. if you can run a command in a terminal, you can use logg.sh.
How I Use It
I run logs.sh on some of my early-stage personal projects to be able to quickly view log information for debugging. When I'm building a new API or website, I just pipe the output to logg.sh and immediately have a convenient way to see what's happening.
When something breaks at 3 AM, I can check the logs from my phone instead of SSHing into a server. When a friend asks for help debugging their app, I can have them stream logs and look at the same output they're seeing (without them sending screenshot after screenshot)
No more sending log snippets back and forth or asking "what do you see in the logs?". We're now looking at the same thing.
Simple But Useful Features
The web interface has just what you need:
- Viewing live logs with log level tagging
- Easy log sharing with anchored URLs
- Password protection via the --pass
flag when you need it
Try It If You Want
I built logg.sh for myself, but you're welcome to use it too. It's free and requires no signup beyond creating an SSH key. I'm running it as a side project because I find it useful.
If you're tired of complex logging setups or just want something that works without thinking about it, give it a try:
# Generate an SSH key if you don't have one
ssh-keygen -t ed25519
# Start streaming logs
python app.py | ssh logg.sh stream myapp
# Or pick a username
python app.py | ssh mike@logg.sh stream myapp
# Tail files
tail -f app.log | ssh mike@logg.sh stream myapp
# For sensitive logs, add password protection
your-app | ssh logs.sh stream myapp --pass secretpass
Sometimes the simplest tools are the most useful.
Comments
Add a Comment