Timberlogs is a drop-in structured logging library for TypeScript:
npm install timberlogs-client
import { createTimberlogs } from "timberlogs-client";
const timber = createTimberlogs({
source: "my-app",
environment: "production",
apiKey: process.env.TIMBER_API_KEY,
});
timber.info("User signed in", { userId: "123" });
timber.error("Payment failed", error);
Features:
- Auto-batching with retries
- Automatic redaction of sensitive data (passwords, tokens)
- Full-text search across all your logs
- Real-time dashboard
- Flow tracking to link related logsIt's currently in beta and free to use. Would love feedback from the HN community.
Site: https://timberlogs.dev Docs: https://docs.timberlogs.dev npm: https://npmjs.com/package/timberlogs-client GitHub: https://github.com/enaboapps/timberlogs-typescript-sdk
Not only that, libs like pino don't even support spanning, something that's pretty important for how I use logging. Winston has been my favorite so far.
Anyway, this is just a SaaS that claims they offer a "drop-in" library, which it does not. The repo is also Claude-generated, so I'm out.
Website is also very broken, and the docs require a log-in.
Quick question out of curiosity: why does the example include an API key when initializing the logger? I couldn't find an explanation on the GitHub page. Some people might be put off seeing that in the first example, thinking the logger requires a paid subscription.
[1] https://github.com/winstonjs/winston
[2] https://github.com/pinojs/pino
PS: Your documentation search does not work.