DeepTracer
Quickstart

Node.js / Express / Hono Setup

Add DeepTracer to any Node.js backend in under 5 minutes.

Install

npm install @deeptracer/node
pnpm add @deeptracer/node
yarn add @deeptracer/node
bun add @deeptracer/node

Environment variables

.env
DEEPTRACER_KEY=dt_your_api_key_here
DEEPTRACER_ENDPOINT=https://ingest.deeptracer.dev

Basic setup

index.ts
import { init } from "@deeptracer/node"

const logger = init()

// Log anything
logger.info("Server started", { port: 3000 })
logger.warn("Slow query", { duration: 1200 })
logger.error("Payment failed", { orderId: "ord_123" })

init() reads your environment variables automatically. It also sets up global error capture — any uncaught exception or unhandled promise rejection is reported to DeepTracer.

Express middleware

app.ts
import express from "express"
import { init, expressMiddleware } from "@deeptracer/node"

const app = express()
const logger = init()

// Add DeepTracer middleware — traces every request automatically
app.use(expressMiddleware(logger))

app.get("/api/users", (req, res) => {
  logger.info("Fetching users")
  res.json({ users: [] })
})

app.listen(3000)

Hono middleware

index.ts
import { Hono } from "hono"
import { init, honoMiddleware } from "@deeptracer/node"

const app = new Hono()
const logger = init()

// Add DeepTracer middleware
app.use(honoMiddleware(logger))

app.get("/api/users", (c) => {
  logger.info("Fetching users")
  return c.json({ users: [] })
})

export default app

Capture errors manually

try {
  await processPayment(order)
} catch (error) {
  logger.captureError(error, {
    severity: "critical",
    context: { orderId: order.id, amount: order.total }
  })
  throw error
}

Graceful shutdown

process.on("SIGTERM", async () => {
  await logger.destroy() // flushes all pending logs
  process.exit(0)
})

What's next?

On this page