🎯The only truly unobtrusive loggerAdd logging to your libraries without bothering your users. No configuration? No logs. It's that simple and respectful.
⚡Zero performance impactLog as much as you want during development, then deploy with confidence. When logging is off, there's virtually no overhead at all.
🌍Universal runtime supportWrite once, run everywhere. Works great in Node.js, Deno, Bun, web browsers, and edge functions. No polyfills, no surprises.
✨Zero maintenance burdenInstall once and forget about it. No dependencies to babysit, no security alerts to stress about. Just 5.3KB of pure simplicity.
🔍Smart context managementTrack requests and user sessions effortlessly. Bind data to specific loggers or let it flow automatically through your call stack.
🔧Easy to extendNeed custom logging behavior? Just write a simple function. No complicated inheritance or confusing APIs to wrestle with.
🤝Plays well with othersWorks with OpenTelemetry, Sentry, CloudWatch Logs, syslog, and friends. Plus adapters for winston and pino if you're migrating.
📁Organize with nested categoriesEach library gets its own namespace like ["my-lib", "feature"]. Perfect isolation with automatic inheritance. No more log conflicts between dependencies.
🔥Modern JavaScript, done rightTypeScript types included, no extra packages needed. Supports both ESM and CommonJS. Works beautifully with async/await and all the modern patterns you love.