gpt4 book ai didi

node.js - 在 Express 中自动记录 HTTP 500 响应?

转载 作者:搜寻专家 更新时间:2023-10-31 23:36:03 25 4
gpt4 key购买 nike

我的 Express 应用中的一个常见模式是在我的所有路由中包含以下内容:

//...code which could result in an err
if (!err) return res.send(200);
console.log(err); // Would prefer to omit this line
res.send(500);

现在,我需要在所有路由中写入 console.log(err)。我更愿意在每次发送 500 时自动记录 err 变量。有什么方法可以连接到 Express 并自动记录所有 500 个响应的调用堆栈和/或 err

最佳答案

从您的解释来看,您似乎在所有路由中都包含了错误处理。您可能应该创建一个全局拦截器错误处理程序,它可以为您执行日志记录,并且如果您有 500 错误类型,它仍然是基本错误处理程序。

//if your express var is app

var errorHandler = function(err, req, res, next){
console.log(err.stack);
res.send(500);
// or you could call res.render('error'); if you have a view for that.
};

app.use(app.router); // this has to come before your interceptors
app.use(notFound); // your page not found interceptor
app.use(errorHandler);

关于node.js - 在 Express 中自动记录 HTTP 500 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14313530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com