From 3b5e58c1fed1fd8aa18c4dd461572cbdf682c195 Mon Sep 17 00:00:00 2001 From: Isaac Date: Sun, 25 Jun 2023 13:43:10 +0100 Subject: [PATCH] feat: add prisma logging --- src/client.js | 15 ++++++++++++++- src/lib/logger.js | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/client.js b/src/client.js index 96d04b0..77d3baa 100644 --- a/src/client.js +++ b/src/client.js @@ -52,8 +52,21 @@ module.exports = class Client extends FrameworkClient { } async login(token) { + const levels = ['error', 'info', 'warn']; + if (this.config.logs.level === 'debug') levels.push('query'); + /** @type {PrismaClient} */ - this.prisma = new PrismaClient(); + this.prisma = new PrismaClient({ + log: levels.map(level => ({ + emit: 'event', + level, + })), + }); + + this.prisma.$on('error', e => this.log.error.prisma(`${e.target} ${e.message}`)); + this.prisma.$on('info', e => this.log.info.prisma(`${e.target} ${e.message}`)); + this.prisma.$on('warn', e => this.log.warn.prisma(`${e.target} ${e.message}`)); + this.prisma.$on('query', e => this.log.debug.prisma(e)); if (process.env.DB_PROVIDER === 'sqlite') { // rewrite queries that use unsupported features diff --git a/src/lib/logger.js b/src/lib/logger.js index f0a0ab4..ef91935 100644 --- a/src/lib/logger.js +++ b/src/lib/logger.js @@ -58,6 +58,7 @@ module.exports = config => { 'listeners', 'menus', 'modals', + 'prisma', 'settings', 'tickets', ],