2017-08-11 84 views
0

我要記錄這樣所有的請求:登錄請求的NodeJS表達

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

然而,在快遞,中間件是處理請求之前調用,所以我不能得到真正的響應代碼。我總是得到200.完成這個的正確方法是什麼?

+1

我相信express會暴露一些日誌功能。我想你已經暴露了一個環境變量'DEBUG = express:*',並且據我可以告訴系統的日誌輸出所有請求。參見[Debugging Express](https://expressjs.com/en/guide/debugging.html) –

回答

0

看看下面的路線和你的路由中間件上的回調添加第三個參數是這樣的:

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

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

您可以使用摩根登錄你的要求:

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

更多文檔請訪問morgan。 Yo也可能對 on-finished包感興趣,以便在請求完成時執行任意代碼。