首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用morgan记录错误消息?

是否可以使用morgan记录错误消息?
EN

Stack Overflow用户
提问于 2019-10-24 15:16:20
回答 1查看 4.3K关注 0票数 3

我正在用morgan记录请求和响应,一切都很好。我想知道是否也有任何方法可以记录错误消息?对于示例:如果try catch块在我的应用程序中失败,我将向用户返回一个500错误和一条自定义消息。但是,是否有一种方式可以记录实际的error.message

片段来自我的应用程序

代码语言:javascript
复制
 try {
     // Resend OTP
     let otp_server_response = await sms.resendOTP(mobile_number, resend_mode);

     if(otp_server_response.type === "success") {
         return res.status(200).json({ message: "OTP_RESENT" });
     } else {
         console.log(otp_server_response.message); // <= Log this message in morgan logs if request reaches here
         return res.status(400).json({ message: "OTP_RESENDING_FAILED" });
     }
 }
 catch (error) {
     console.log(error.message); // <= Log this message in morgan logs if request reaches here
     return res.status(500).json({ message: "SOME_ERROR_OCCURRED" });
 }

我的记录器文件的片段

代码语言:javascript
复制
 const errorLogFormat    = ":requestId :status :res[content-length] :response-time ms";
 .
 .
 .
 // Log error responses (4xx and 5xx)
            morganLogger(
                errorLogFormat,
                {
                    skip: (req, res) => {
                        return res.statusCode < 400
                    },
                    stream: rfs(
                        "responses.log",
                        {
                            interval: "1d",
                            path: logDirectory
                        }
                    )
                }
            )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-24 15:20:25

别这么想。据我所知,这个模块不包含实际错误。尽管如此,您只需使用以下内容将错误保存在错误处理程序中

代码语言:javascript
复制
req.error = err;

然后可以访问自定义令牌中的req.error。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58544361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档