prisma-query-log
Log prisma query event.
Currently works only for SQLite, MySQL.
Features:
- Substitute parameters
- Remove backticks and database prefix
Install
npm install --save-dev prisma-query-log
Usage
import { createPrismaQueryEventHandler } from 'prisma-query-log';
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient({
log: [
{
level: 'query',
emit: 'event',
},
],
});
const log = createPrismaQueryEventHandler();
prisma.$on('query', log);
API
function createPrismaQueryEventHandler(
options?: CreatePrismaQueryEventHandlerArgs,
): (event: PrismaQueryEvent) => void;
const defaultOptions = {
logger: true as boolean | ((query: string) => unknown),
unescape: true,
colorQuery: undefined as undefined | string,
colorParameter: undefined as undefined | string,
format: false,
queryDuration: false as boolean,
language: undefined as 'sql' | 'n1ql' | 'db2' | 'pl/sql' | undefined,
indent: ' ',
reservedWordCase: null as 'upper' | 'lower' | null,
linesBetweenQueries: 1 as number | 'preserve',
};
Other projects
https://github.com/unlight/nestolog - Logger for NestJS, implements LoggerService
Screenshots
Before
After
Development
docker run -it -p 5432:5432 -e POSTGRES_PASSWORD=postgres -e POSTGRES_USER=user postgres
docker run -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=query_log_example_db mysql