parent
0f25746a87
commit
9e5e4ae241
@ -1,11 +1,16 @@ |
|||||||
import { Module } from "@nestjs/common"; |
import { MiddlewareConsumer, Module, NestModule } from "@nestjs/common"; |
||||||
import { AppController } from "./app.controller"; |
import { AppController } from "./app.controller"; |
||||||
import { AppService } from "./app.service"; |
import { AppService } from "./app.service"; |
||||||
import { CatsModule } from "./cats/cats.module"; |
import { CatsModule } from "./cats/cats.module"; |
||||||
|
import { LoggerMiddleware } from "./logger/logger.middleware"; |
||||||
|
|
||||||
@Module({ |
@Module({ |
||||||
imports: [CatsModule], |
imports: [CatsModule], |
||||||
controllers: [AppController], |
controllers: [AppController], |
||||||
providers: [AppService], |
providers: [AppService], |
||||||
}) |
}) |
||||||
export class AppModule {} |
export class AppModule implements NestModule { |
||||||
|
configure(consumer: MiddlewareConsumer) { |
||||||
|
consumer.apply(LoggerMiddleware).forRoutes("*"); |
||||||
|
} |
||||||
|
} |
||||||
|
@ -0,0 +1,7 @@ |
|||||||
|
import { LoggerMiddleware } from './logger.middleware'; |
||||||
|
|
||||||
|
describe('LoggerMiddleware', () => { |
||||||
|
it('should be defined', () => { |
||||||
|
expect(new LoggerMiddleware()).toBeDefined(); |
||||||
|
}); |
||||||
|
}); |
@ -0,0 +1,17 @@ |
|||||||
|
import { Injectable, Logger, NestMiddleware } from "@nestjs/common"; |
||||||
|
import { Request, Response, NextFunction } from "express"; |
||||||
|
|
||||||
|
@Injectable() |
||||||
|
export class LoggerMiddleware implements NestMiddleware { |
||||||
|
private logger = new Logger("HTTP"); |
||||||
|
|
||||||
|
use(req: Request, res: Response, next: NextFunction) { |
||||||
|
res.on("finish", () => { |
||||||
|
this.logger.log( |
||||||
|
`${req.ip} ${req.method} ${res.statusCode} ${req.originalUrl}`, |
||||||
|
); |
||||||
|
}); |
||||||
|
|
||||||
|
next(); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue