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 { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
@Module({ @Module({
providers: [PrismaService], exports: [PrismaService],
exports: [PrismaService] providers: [ConfigService, PrismaService]
}) })
export class PrismaModule {} export class PrismaModule {}

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

@ -1,16 +1,38 @@
import { import {
Injectable, Injectable,
Logger, Logger,
LogLevel,
OnModuleDestroy, OnModuleDestroy,
OnModuleInit OnModuleInit
} from '@nestjs/common'; } from '@nestjs/common';
import { PrismaClient } from '@prisma/client'; import { ConfigService } from '@nestjs/config';
import { Prisma, PrismaClient } from '@prisma/client';
@Injectable() @Injectable()
export class PrismaService export class PrismaService
extends PrismaClient extends PrismaClient
implements OnModuleInit, OnModuleDestroy 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() { public async onModuleInit() {
try { try {
await this.$connect(); await this.$connect();

Loading…
Cancel
Save