Show HN: Timberlogs – Drop-in structured logging for TypeScript
9 points by enaboapps 3 days ago
9 points by enaboapps 3 days ago
Hi HN! I built Timberlogs because I was tired of console.log in production and existing logging solutions requiring too much setup.
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
> I was tired of console.log in production and existing logging solutions requiring too much setup. 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. I'm glad to see useful features like easily adding userId and sessionId to logs. That said, I wish it wasn't limited to just these properties. From my experience building enterprise SaaS, you need more metadata for proper filtering: tenantId, operation, and others. With Winston, I typically create child logger instances and pass them around to ensure all logs contain the right metadata, but that workflow is pretty annoying. 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. Does this provide a transport plugin for Winston [1], Pino [2], etc.? [1] https://github.com/winstonjs/winston [2] https://github.com/pinojs/pino PS: Your documentation search does not work. this is so cool. I think so much of the logging Saas products are bloated. This looks much simpler. I'd like a python interface.. I've used papertrail and datadog for some of this in the past but dropped it due to cost (and bloat). Nice one.
ramon156 - an hour ago
coronapl - 3 days ago
uallo - 2 hours ago
willwade - 3 days ago