AES-256-GCM End-to-End Encrypted

Logs only
you can read.

Lumber is a lightweight logging SDK for Node.js. Logs are encrypted with your key before they leave your server: the API never sees your log content.

server.ts
// npm i @infinitetoken/lumber
import lumber from '@infinitetoken/lumber'

lumber.config({
  apiKey: process.env.LUMBER_API_KEY,
  encryptionKey: process.env.LUMBER_ENCRYPTION_KEY,
  console: { timestamp: 'time', color: true },
})

lumber.info('Server started', { port: 3000 })

lumber.warn('Rate limit approaching', {
  userId: user.id,
  requests: 95,
})

lumber.error('Payment failed', {
  orderId: order.id,
  reason: err.message,
})

Built for production. Designed for developers.

Everything you need to log confidently across your entire Node.js stack.

End-to-End Encrypted

AES-256-GCM client-side encryption. Your key never reaches our servers in readable form (teammates receive it end-to-end encrypted), so the server never sees your log content.

Minimal Dependencies

One small runtime dependency: Lumber's own shared types package, which has no dependencies of its own. Encryption and delivery use Node's built-in crypto and fetch.

Async Queue

Fire-and-forget with an internal async queue. Logging never blocks your request path.

Mobile Log Viewer

Browse, search, and filter your logs in the Lumber mobile app for iOS and Android, decrypted on your device. Coming soon to the App Store.

Structured Logging

Attach requestId, traceId, custom context, and arbitrary metadata to any log entry.

Console Mirroring

Echo logs to stdout/stderr during development with colored output, timestamps, and pretty-printed data.

Up and running in minutes.

Three steps from zero to encrypted logs.

1

Install the SDK

Add Lumber to your Node.js project with a single command.

npm install @infinitetoken/lumber
2

Add your credentials

Create an app in the Lumber mobile app: it generates your encryption key on your device. Then add an API key on the app's Secrets screen.

LUMBER_API_KEY=... LUMBER_ENCRYPTION_KEY=...
3

Start logging

Call lumber.config() once at startup, then log anywhere in your app.

lumber.info('Hello, Lumber!')

Simple pricing for every stage.

Start free. Scale as you grow.

Hobby

Free

For side projects and exploration.

  • 5 apps
  • 1 seat
  • 1 API key per app
  • 7-day log retention
  • 10,000 logs / month
Get Started

Dev

$9/mo

For active development teams.

  • 10 apps
  • 5 seats
  • 5 API keys per app
  • 30-day log retention
  • 250,000 logs / month
  • Realtime log streaming
  • Push alerts on Error+
Get Started
Most Popular

Pro

$39/mo

For production workloads.

  • 20 apps
  • 20 seats
  • 15 API keys per app
  • 90-day log retention
  • 2,000,000 logs / month
  • Realtime log streaming
  • Push alerts on Warn+
Get Started

Enterprise

Custom

For large-scale deployments.

  • Unlimited apps
  • Unlimited seats
  • Unlimited API keys per app
  • Unlimited retention
  • Unlimited logs / month
  • Realtime log streaming
  • Push alerts on Debug+
Contact Us

Start logging securely today.

Add Lumber to your Node.js app in under five minutes. Your logs stay yours.