Blyp Docs

NestJS

Import from blyp-js/nestjs.

Required bootstrap order

Call createLogger() before NestFactory.create(...).

import "reflect-metadata";
import { Module, Controller, Get, Req } from "@nestjs/common";
import { NestFactory } from "@nestjs/core";
import { logger } from "blyp-js";
import { createLogger, BlypModule } from "blyp-js/nestjs";

@Controller()
class AppController {
  @Get("/hello")
  hello(@Req() request: { blypLog?: { info(message: string): void } }) {
    request.blypLog?.info("nest-request");
    logger.info("nest-route");
    return { ok: true };
  }
}

@Module({
  imports: [BlypModule.forRoot()],
  controllers: [AppController],
})
class AppModule {}

createLogger({
  level: "info",
  clientLogging: true,
});

const app = await NestFactory.create(AppModule);
await app.listen(3000);

What BlypModule does

  • applies middleware to all routes
  • registers a global interceptor
  • registers a global exception filter
  • supports both Nest Express and Nest Fastify adapters

If you call BlypModule.forRoot() before createLogger(...), Blyp throws an initialization error during bootstrap.

Relevant types

import type {
  NestLoggerConfig,
  NestLoggerContext,
  NestAdapterType,
} from "blyp-js/nestjs";

On this page

No Headings