Package Exports
- @logtape/drizzle-orm
- @logtape/drizzle-orm/package.json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@logtape/drizzle-orm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@logtape/drizzle-orm
@logtape/drizzle-orm is a Drizzle ORM adapter that allows you to use LogTape as Drizzle's logging backend for database query logging. This enables seamless integration between Drizzle ORM applications and LogTape's structured logging capabilities.
Installation
deno add jsr:@logtape/drizzle-orm # for Deno
npm add @logtape/drizzle-orm # for npm
pnpm add @logtape/drizzle-orm # for pnpm
yarn add @logtape/drizzle-orm # for Yarn
bun add @logtape/drizzle-orm # for BunUsage
import { configure, getConsoleSink } from "@logtape/logtape";
import { getLogger } from "@logtape/drizzle-orm";
import { drizzle } from "drizzle-orm/postgres-js";
import postgres from "postgres";
await configure({
sinks: { console: getConsoleSink() },
loggers: [
{ category: ["drizzle-orm"], sinks: ["console"], lowestLevel: "debug" }
],
});
const client = postgres(process.env.DATABASE_URL!);
const db = drizzle(client, {
logger: getLogger(),
});
// Now all database queries will be logged through LogTapeCustom category
You can specify a custom category for the logger:
const db = drizzle(client, {
logger: getLogger({
category: ["myapp", "database"],
}),
});Custom log level
By default, queries are logged at the debug level. You can change this:
const db = drizzle(client, {
logger: getLogger({
level: "info",
}),
});Structured logging
The adapter logs queries with structured data that includes:
formattedQuery: The query with parameter placeholders (e.g.,$1,$2) replaced with actual values for easier readingquery: The original query string with placeholdersparams: The original parameters array
This allows you to:
- Get human-readable output with text formatters
- Get machine-parseable output with JSON Lines formatter
- Use full query and params data with OpenTelemetry, Sentry, and other sinks
Docs
The docs of this package is available at https://logtape.org/manual/integrations#drizzle-orm. For the API references, see https://jsr.io/@logtape/drizzle-orm/doc.