我有一个在生产中运行的 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/