From 40fafd19f35f99702e00828bd7e717993f06004e Mon Sep 17 00:00:00 2001 From: Alexey Lunin <alexey.lunin@vereign.com> Date: Tue, 14 May 2024 12:08:41 +0000 Subject: [PATCH] refactor: configure nestjs and credo-ts loggers using one env variable LOG_LEVEL OP#243 --- apps/agent/src/configure.logger.ts | 17 +++++++++++++++++ apps/agent/src/main.ts | 5 +++++ 2 files changed, 22 insertions(+) create mode 100644 apps/agent/src/configure.logger.ts diff --git a/apps/agent/src/configure.logger.ts b/apps/agent/src/configure.logger.ts new file mode 100644 index 00000000..bd6386a8 --- /dev/null +++ b/apps/agent/src/configure.logger.ts @@ -0,0 +1,17 @@ +import { Logger, LogLevel as NestLogLevel } from "@nestjs/common"; +import { LogLevel } from "@credo-ts/core"; + +const credoNestLoggerMap: { [key in LogLevel]: NestLogLevel[] } = { + [LogLevel.test]: ["error", "warn", "log", "debug", "verbose"], + [LogLevel.trace]: ["error", "warn", "log", "debug", "verbose"], + [LogLevel.debug]: ["error", "warn", "log", "debug"], + [LogLevel.info]: ["error", "warn", "log"], + [LogLevel.warn]: ["error", "warn"], + [LogLevel.error]: ["error"], + [LogLevel.fatal]: ["error"], + [LogLevel.off]: [], +}; + +export function configureLogger(credoLogLevel: LogLevel) { + Logger.overrideLogger(credoNestLoggerMap[credoLogLevel]); +} diff --git a/apps/agent/src/main.ts b/apps/agent/src/main.ts index 4a0dece5..932ec151 100644 --- a/apps/agent/src/main.ts +++ b/apps/agent/src/main.ts @@ -10,6 +10,11 @@ import { AppModule } from "./app/app.module"; import { DocumentBuilder, SwaggerModule } from "@nestjs/swagger"; import { urlencoded, json } from "express"; import * as fs from "fs"; +import process from "process"; +import { LogLevel } from "@credo-ts/core"; +import { configureLogger } from "./configure.logger"; + +configureLogger(parseInt(process.env["LOG_LEVEL"]!) ?? LogLevel.error); async function bootstrap() { const app = await NestFactory.create(AppModule); -- GitLab