From 12ba934b9f2efcfa0b1b2c1d2a352117320027fc Mon Sep 17 00:00:00 2001 From: Sebastian Pietschner Date: Mon, 7 Nov 2022 19:25:14 +0000 Subject: [PATCH] Bot crashes on start Fixes #130 --- src/services/Logger.ts | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/services/Logger.ts b/src/services/Logger.ts index a9e169c..119f952 100644 --- a/src/services/Logger.ts +++ b/src/services/Logger.ts @@ -2,16 +2,28 @@ import { Signales } from '@dynamicabot/signales'; import { Service, Token } from 'typedi'; import fs from 'node:fs'; import fsP from 'node:fs/promises'; +import path from 'node:path'; export const LoggerToken = new Token('Logger'); +// DATABASE URL IS RELATIVE TO PRISMA CONFIGURATION +const logDir = path.join( + path.dirname(new URL(process.env.DATABASE_URL, import.meta.url).pathname), + 'logs' +); + +console.log('Log directory:', logDir); + // generate file name depending on the date (e.g. 2021-09-01-1.log, 2021-09-01-2.log, etc.) with a suffix parameter const createLogfileWriter = async (suffix: string = 'log') => { - await fsP.mkdir('logs', { recursive: true }); + await fsP.mkdir(logDir, { recursive: true }); const date = new Date(); - const filename = `logs/${date.getFullYear()}-${ - date.getMonth() + 1 - }-${date.getDate()}-${suffix}.log`; + const filename = path.join( + logDir, + `${date.getFullYear()}-${ + date.getMonth() + 1 + }-${date.getDate()}-${suffix}.log` + ); const writer = fs.createWriteStream(filename); return writer;