我有一个在生产中运行的 nodejs 脚本

我不太可能(千分之一)得到这样的错误:

TypeError: value is out of bounds
    at checkInt (buffer.js:1009:11)
    at Buffer.writeUInt16LE (buffer.js:1067:5)
    at Object.foo.bar (/fake/path/name.js:123:1);
    at Object.foo.bar2 (/fake/path/name2.js:123:1);
    at Object.foo.bar3 (/fake/path/name3.js:123:1);

导致生产服务器崩溃...

太好了,我有一个堆栈跟踪!但是我想知道每个调用或所有数据的当前数据是什么?

有哪些很棒的工具或代码可用于在生产代码上记录错误(使用当前数据)?

最佳答案

我强烈建议使用 Winston Bunyan 。选择npm软件包是您的应用程序的决定。

您可以通过浏览 npm 中可用页面中的 stats 来对可用的 npm 包进行基准测试。统计数据基本如下。

  • 最后一天的下载量
  • 上周的下载量
  • 上个月的下载量
  • 打开问题和打开拉取请求。

  • 最近下载量较高表明从长远来看,您正在使用的模块有很大的支持。所以这很重要。

    Winstan 和 Bunyan 都是市场上最好的日志记录 npm 包,主要区别在于,Winstan 对于普通日志记录目的来说非常棒且灵活。当然,Winstan 提供了大量的日志记录功能。但无论如何,要利用这些能力,与类扬相比,还需要付出一些努力。

    另一方面,Bunyan 特别支持“ 分析日志 ”这一事实。所以基本上 Bunyan 是用于日志处理的。因此,如果您想分析您的日志、日志文件,强烈建议使用 Bunyan。与 Winstan 相比,使用 Bunyan 调整日志相当容易。

    我对类扬和温斯坦进行了彻底的比较。请检查下面的链接,以查看Winstan和Bunyan如何使用,具体取决于登录Node应用程序的范围,用例和必要性。
    链接:https://docs.google.com/document/d/1pD9PLyxlcHVxxOvserNLO9tAz-QA_Co-xo6cWLhLghc/edit?usp=sharing

    同样在 生产环境 中,请确保明智地使用日志记录级别。生产环境中最常用的日志级别是:
  • 错误
  • 信息
  • 调试
  • 关于node.js - Nodejs 在生产中调试错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41144288/

    10-12 22:08
    查看更多