[英]How to express.logger() all requests except GET /favicon.ico? (Nodejs/expressjs)
我想記錄除favicon.ico以外的所有請求。 最初,我以為只是創建一個函數並調用express.logger(),但是在函數內部調用express.logger()不起作用。
//DOES NOT LOG
app.use("/", function(req, res, next){
console.log('executing 1');
express.logger();
next();
});
因此,我無法使用if語句來檢查res.url。
現在,我正在嘗試以下操作,但遇到問題:
app.use(function(req, res, next){
if(req.url=="/favicon.ico"){
//Somehow skip the next app.use
}else{
next(); //otherwise just go to next
}
});
app.use("/", express.logger());
非常感謝你!
express.logger()函數返回另一個具有快速中間件簽名的函數(function(req,res,next))。 調用它不會進行日志記錄,而只會返回記錄器中間件。
嘗試這個 -
app.use(function(req, res, next){
if(req.url=="/favicon.ico"){
next();
}else{
express.logger()(req, res, next);
}
});
從您的代碼中刪除app.use(express.logger())。
您可以使用express.favicon
中間件,並在包括記錄器中間件之前將其包括在內。 這實際上是connect.favicon
( express.favicon
所基於的)頁面上提到的用例:
app.use(express.favicon()); // you can also pass path to favicon file, see docs
app.use(express.logger());
( docs )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.