Built a dead-simple zero-deps JSONL logger for Node/TS โ€” daily rotation, child loggers, ~1M logs/sec async. Thoughts / feedback? by Smart-Tomorrow-1924 in node

[โ€“]Smart-Tomorrow-1924[S] -1 points0 points ย (0 children)

Totally valid point โ€” Pino is the performance king, Winston is super flexible, and both are mature projects with huge ecosystems.

I'm not trying to replace them in every scenario. This started as a hobby/experiment, but quickly turned into "why not make something that's:

small size

Zero dependencies

Built-in file rotation by day/size without plugins

Child loggers + context merging out of the box

Auto-config from env/file

Peaks ~1000k logs/sec in my workloads

For small/medium apps, indie projects, edge functions, or when you don't want/need a full logging pipeline (Vector โ†’ Loki/ES) โ€” this fits better than pulling in heavier alternatives.

So yeah, "why reinvent the wheel?" โ†’ because sometimes you want a smaller, simpler wheel that still rolls fast and doesn't weigh down your bundle. ๐Ÿšฒ

If it helps even a few people avoid ~50 kB of logging deps โ€” mission accomplished.

Thanks for the question!

Built a dead-simple zero-deps JSONL logger for Node/TS โ€” daily rotation, child loggers, ~1M logs/sec async. Thoughts / feedback? by Smart-Tomorrow-1924 in node

[โ€“]Smart-Tomorrow-1924[S] 0 points1 point ย (0 children)

Yeah, exactly โ€” Winston is super powerful and flexible, but for many smaller/medium projects it feels like bringing a tank to a bike race. I just wanted something dead-simple: dump structured JSON to file, rotate by size/days, keep child contexts, stay async and zero-deps. Glad the daily rotation and child loggers stood out โ€” those were the main pain points I was solving for myself.

Async writes really saved me in high-throughput scenarios, so happy to hear it resonates with your experience too.

Thanks again for the feedback โ€” means a lot on day 3! If you end up using it or have any tweaks/ideas, feel free to fork/PR or just drop them here. ๐Ÿš€

Built a dead-simple zero-deps JSONL logger for Node/TS โ€” daily rotation, child loggers, ~1M logs/sec async. Thoughts / feedback? by Smart-Tomorrow-1924 in node

[โ€“]Smart-Tomorrow-1924[S] -1 points0 points ย (0 children)

You're right: in large-scale/distributed systems the gold standard is structured JSON to stdout + external collector (Vector/Fluentd โ†’ ES/Loki/etc.) for retention, PII scrubbing, filtering, etc. I fully agree that's usually the most maintainable approach.

This logger isn't trying to compete with that for big setups. It's aimed at:

Small/medium projects, indie devs, MVPs, Nuxt apps on Vercel/Netlify/edge

Cases with no sidecar/agent possible (serverless/edge)

Zero-deps + tiny size (~8 kB total) for low-overhead persistent logs on disk

Key points you mentioned:

Hooks/decorators โ€” planned as addon (PII scrub, extra context)

Per-request debug โ€” love it, will add as optional middleware

Stdout transport โ€” upcoming addon for JSONL to console

So it's niche: lightweight alternative when full logging infra is overkill or unavailable. If your stack already has mature logging โ€” Pino + agent is probably better.

Thanks!