diff --git a/apps/agent/src/configure.logger.ts b/apps/agent/src/configure.logger.ts
new file mode 100644
index 0000000000000000000000000000000000000000..bd6386a83899abe2c43bf67b944ae3cdc06e0508
--- /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 4a0dece52394c4ec3a1b54268e255ede124de167..932ec151e6531e2b4de5363a9e1ef9e6ba1bb714 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);