Храните журналы Моргана в базе данных - PullRequest
0 голосов
/ 19 октября 2018

Я использую morgan('dev') для ведения журнала, но я хочу сохранить этот объект "GET /users/get 200 195.315 ms - 393" [в журнале консоли] в базе данных.

как

- method : get 
- endpoint : /users/get
- status : 200

Как я могу получитьэтот объект?
Как взорвать и вставить данные в поле (метод, конечная точка, статус) выше в базе данных?

1 Ответ

0 голосов
/ 21 октября 2018

Вы можете создать небольшое промежуточное программное обеспечение, которое будет прослушивать 'finish' событие Response и сохранять данные в базе данных:

app.use((req, res, next) => {
  const method = req.method;
  const endpoint = req.originalUrl;

  res.on('finish', () => {
   const status = res.status;
   saveRequestDataToDatabase(method, endpoint, status);
   next();
  });
});
...