| 6 | @Service() |
| 7 | @Middleware({ type: "after" }) |
| 8 | export class LoggerMiddleware implements ExpressMiddlewareInterface { |
| 9 | constructor(private loggerService: LoggerService) {} |
| 10 | |
| 11 | use: RequestHandler = (req, res, next) => { |
| 12 | let logLevel: LogLevel = "info"; |
| 13 | const { statusCode } = res; |
| 14 | if (statusCode < 100 && statusCode >= 400) { |
| 15 | logLevel = "error"; |
| 16 | } |
| 17 | |
| 18 | this.loggerService.log(logLevel, { |
| 19 | message: `${res.statusCode} ${req.method} ${req.url}`, |
| 20 | }); |
| 21 | next(); |
| 22 | }; |
| 23 | } |