Prisma debug logs
npm install prisma-debug-logsStatementExplainer interface currently only has an implementation for Postgres, but you can make a PR for other RDBMS``bash`
npm install --save-dev prisma-debug-logs
`typescript
import { PrismaClient } from '@prisma/client'
import { Pool } from 'pg'
import {
DbLogger,
ExplainingConsolePrinter,
ExtendClient,
PgStatementExplainer,
} from 'prisma-debug'
function getDebugDbLogger(dbUrl: string) {
const pool = new Pool({
connectionString: dbUrl,
});
const pgStatementExplainer = new PgStatementExplainer(pool);
const explainingConsolePrinter = new ExplainingConsolePrinter(pgStatementExplainer);
return new DbLogger(explainingConsolePrinter);
}
function getDebugPrismaClient(dbUrl: string) {
return ExtendClient(
new PrismaClient({
datasources: { db: { url: dbUrl } },
log: [
{
emit: 'event',
level: 'query',
},
],
}),
getDebugDbLogger(dbUrl),
);
}
const client = getDebugPrismaClient('postgres://YourUserName:YourPassword@localhost:5432/YourDatabase')
const result = await client.orders.findMany({
where: {
order_id: 123,
},
include: {
products: true,
},
})
``