湯本 開 cd58916e05 Merged PR 746: ツールの雛形作成
## 概要
[Task3696: ツールの雛形作成](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3696)

- DevContainerを追加

## レビューポイント
- 特になし

## 動作確認状況
- ローカルで確認
2024-02-15 05:49:45 +00:00

29 lines
769 B
TypeScript

import { Injectable, Logger, NestMiddleware } from "@nestjs/common";
import { Request, Response } from "express";
@Injectable()
export class LoggerMiddleware implements NestMiddleware {
private readonly logger = new Logger(LoggerMiddleware.name);
use(req: Request, res: Response, next: () => void): void {
this.logger.log(this.createReqMsg(req));
res.on("close", () => {
this.logger.log(this.createResMsg(res));
});
next();
}
private createReqMsg(req: Request): string {
const message = `Request [url=${req.url}, method=${req.method}]`;
return message;
}
private createResMsg(res: Response): string {
const message = `Response [statusCode=${res.statusCode}, message=${res.statusMessage}]`;
return message;
}
}