#POST requests not being logged by logging middleware

2 messages · Page 1 of 1 (latest)

tepid pagoda
#

Hi,

So I created middleware to log every request (not response), but for some reason are POST requests not being logged. All other requests are being logged just fine.

My middleware:

@Injectable()
export class RequestloggerMiddleware implements NestMiddleware {
  private logger = new Logger(RequestloggerMiddleware.name);

  use(req: any, res: any, next: () => void) {
    const {ip, method, path: url} = req;
    const body = req.body;
    this.logger.debug(`${ip} ${url} ${method} ${JSON.stringify(body)}`);
    next();
  }
}

My app.module.ts:

export class AppModule implements NestModule {
  configure(consumer: MiddlewareConsumer) {
    consumer.apply(RequestloggerMiddleware).forRoutes({path: "*", method: RequestMethod.ALL});
  }
}

And my main.ts:

async function bootstrap() {
  const app = await NestFactory.create(AppModule, {
    bufferLogs: true,
    logger: WinstonModule.createLogger({
      level: "debug",
      format: winston.format.json(),
      transports: [
        new winston.transports.File({filename: "error.log", level: "error"}),
        new winston.transports.File({filename: "default.log"})
      ]
    })
  });
  app.useGlobalPipes(new BodytransformerPipe(), new ValidationPipe());
  await app.listen(3000);
}
bootstrap();

Does anyone know what I'm doing wrong?
Thnx in advance 😊

#

Turns out my code is not the problem, my http client was...