簡體   English   中英

將請求記錄到 nodejs express

[英]Log requests to nodejs express

我想記錄所有這樣的請求:

8:04:20 PM - info: /api/v2 200 8:04:22 PM - info: /api/v2/asdf 200

但是,在express中,中間件在處理請求之前被調用,所以我無法得到真正的響應代碼。 我總是得到 200。實現這一目標的正確方法是什么?

給你:

app.use((req, res, next)=> {
  console.log('I run on every request!');
  next();
})

您可以使用 morgan 來記錄您的請求:

const morgan = require("morgan");
app.use(morgan('dev'));

有關更多文檔,請訪問摩根 您可能還對完成的包感興趣,以便在請求完成時執行任意代碼。

將中間件放在路由下方,並在路由中添加第三個回調參數,如下所示:

app.get( "/", function( req, res, next ) {
  res.send(something);
  next();
});

app.use(function(req, res, next) {
  console.log('after request is done');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM