If you’ve been building Node.js apps for a while, you’ve probably used Winston, Pino, or maybe Bunyan for logging. And they’ve served us well — structured logs, log levels, file transport — all good stuff.
But here’s the thing: logs alone aren’t enough anymore.
Modern applications need more than just lines in the terminal or log files. You need to see logs in a dashboard, filter them, search by word, errors with meta details, get alerts, and sometimes even dig into logs from multiple environments — local, staging, prod — without relying on a third-party cloud provider.
And that’s exactly why Errsole exists.
It’s an open-source logging system built specifically for Node.js. It’s not just a logger — it’s a complete log management tool, with:
Let’s break this down properly and explain why Errsole is different than every other Node.js logger — and why it might be the only logging tool you’ll need.
With Pino or Winston, you get log lines. If you want to view them visually, you have to set up something like Kibana, Grafana Loki, or a third-party tool like Better Stack or Logtail. That takes time, config, and often… monthly bills.
With Errsole, the log viewer is part of the package.
It runs as a lightweight web dashboard (by default on port 8001), where you can:
And it’s super easy to embed. Just add the Express proxy middleware and you can serve the log viewer at /errsole inside your own app — no need to open ports or run extra containers.
Errsole works out of the box. As soon as you call errsole.initialize(), it starts capturing all logs, including:
No need to rewrite your existing log statements or wrap everything in custom logic. Errsole handles it all for you.
You can also disable console output, or configure which log levels to capture using collectLogs option in its config.
Let’s talk real numbers.
When benchmarking Errsole vs popular setups like Pino + Elasticsearch or Winston + CloudWatch, the difference was massive.
In tests using AWS EC2 instances and a simple Node.js app under K6 load testing, Errsole consistently handled 70,000–90,000 more requests per minute than Elasticsearch-based loggers.
Why?
Because:
Errsole isn’t just about catching logs — it helps you understand them deeply.
It supports:
Errsole doesn’t force you into one database or logging stack. You choose how and where to store your logs.
It supports:
You can even run multiple apps logging into the same DB, using tablePrefix or collectionPrefix to separate logs by app name.
Whether you’re developing locally, deploying to EC2, running containers, or using serverless platforms, Errsole fits right in.
You can:
Errsole integrates smoothly with popular Node.js frameworks:
It even works as a transport for Winston via winston-errsole, so you can upgrade your existing logger setup without a rewrite.
Let’s be honest — cloud loggers are fast to set up, but they come with risks:
With Errsole, none of that happens. Your logs are on your infra, you pay $0/month, and your app stays safe — even under pressure.
Developers have already shared their stories of switching to Errsole:
Errsole is fully open-source, with permissive licensing, and runs under your full control. You can:
No API limits. No tracking. No hidden costs. Just logs you control, in a viewer you own.
Winston and Pino will give you log lines. Cloud loggers give you dashboards — for a price. But Errsole gives you the best of both worlds:
Whether you’re a solo dev building side projects, or a team deploying production microservices, Errsole is the logging tool you didn’t know you needed.
Ready to get started?
👉 npm install errsole
👉 Visit: https://github.com/errsole/errsole.js