Bluebird 捕获错误的日志记录语法?

Posted

技术标签:

【中文标题】Bluebird 捕获错误的日志记录语法?【英文标题】:Bluebird catch err logging syntax? 【发布时间】:2014-09-03 00:55:47 【问题描述】:

什么是等价的 Bluebird promise err logging to this:

    if (err) 
        console.log(err);
        res.send(err);
    

为此:

).catch(Promise.OperationalError, function(e)
    // handle error in Mongoose save findOne etc, res.send(...)
).catch(function(e)
    // handle other exceptions here, this is most likely
    // a 500 error where the top one is a 4XX, but pay close
    // attention to how you handle errors here
);

【问题讨论】:

【参考方案1】:

Bluebird 会自动为您记录未处理的拒绝。如果您希望在错误时发送服务器响应并将链标记为已处理,您可以这样做:

.catch(function(err)
     console.log(err);
     res.send(err);
     throw err; // this is optional, if you don't want to mark the chain as handled.
 );

【讨论】:

我正在寻找如何继续错误链以处理单独块中的日志记录。谢谢!

以上是关于Bluebird 捕获错误的日志记录语法?的主要内容,如果未能解决你的问题,请参考以下文章

MVC如何使用Log4Net进行错误日志记录

Google Cloud Platform 日志查看器记录截断错误日志的 jsonPayload 消息

.net捕获全局异常并且记录日志多线程方式发送邮件提醒

如何使用 Python 在日志文件中复制/捕获标准输出

React 错误处理和日志记录的思考与设计

React 错误处理和日志记录的思考与设计