Browse Source

Use LOG_LEVELS for prisma query events

pull/4003/head
Thomas Kaul 10 months ago
parent
commit
e90d0bb6fd
  1. 5
      apps/api/src/services/prisma/prisma.module.ts
  2. 24
      apps/api/src/services/prisma/prisma.service.ts

5
apps/api/src/services/prisma/prisma.module.ts

@ -1,9 +1,10 @@
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { Module } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
@Module({
providers: [PrismaService],
exports: [PrismaService]
exports: [PrismaService],
providers: [ConfigService, PrismaService]
})
export class PrismaModule {}

24
apps/api/src/services/prisma/prisma.service.ts

@ -1,16 +1,38 @@
import {
Injectable,
Logger,
LogLevel,
OnModuleDestroy,
OnModuleInit
} from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
import { ConfigService } from '@nestjs/config';
import { Prisma, PrismaClient } from '@prisma/client';
@Injectable()
export class PrismaService
extends PrismaClient
implements OnModuleInit, OnModuleDestroy
{
public constructor(configService: ConfigService) {
let customLogLevels: LogLevel[];
try {
customLogLevels = JSON.parse(
configService.get<string>('LOG_LEVELS')
) as LogLevel[];
} catch {}
const log: Prisma.LogDefinition[] =
customLogLevels?.includes('debug') || customLogLevels?.includes('verbose')
? [{ emit: 'stdout', level: 'query' }]
: [];
super({
log,
errorFormat: 'colorless'
});
}
public async onModuleInit() {
try {
await this.$connect();

Loading…
Cancel
Save