@dotcom - 可靠性- kit/ crash- handler
绑定未发现的例外处理器的方法,以确保致命的应用错误被记录. 它取代了哨兵致命错误记录。 此模块是 FT.com 可靠性工具包。 。 。 .
使用量
安装 @dotcom-reliability-kit/crash-handler 作为依附关系:
npm install --save @dotcom-reliability-kit/crash-handler
在代码中包含 :
import registerCrashHandler from '@dotcom-reliability-kit/crash-handler';
[TIP] 如果您使用此软件包并带有 TypeScript , 我们建议您使用以下设置:
tsconfig.json避免类型错误的文件 :{ "esModuleInterop": true, "module": "nodenext", "moduleResolution": "nodenext" }
registerCrashHandler
这个 registerCrashHandler 函数可用于将事件处理器绑定到 节点.js process.uncaughtException 事件。这可以确保应用程序在意外出错或承诺拒绝时崩溃前记录最后消息.
此功能只应在您的app中被调用一次, 通常与您的所有设置代码( 如创建 Express app) 并列 .
[TIP]
这不是一项要求,但一般来说,登记一个未发现的例外处理器越早越好 — — 你越早登记,就越有可能发现未发现的例外.
registerCrashHandler();
如果出错会崩溃您的应用程序, 错误信息会被登录, 然后进程会以 : process.exitCode 或者说 1。 。 。 .
配置选项
配置选项可以传递到 registerCrashHandler 函数作为对象,并带有下面的任何键.
registerCrashHandler({
// Config options go here
});
options.logger
一个执行两种方法的日志对象, error 财务报告和审定财务报表 warn,具有下列允许签字:
type LogMethod = (...logData: any) => any;
这直接传递到相关的日志错误方法上, 详见该套件的文档。 。 。 .
options.process
这个 节点.js 进程 对象将错误处理事件绑定为。 如果您正在使用儿童进程, 或者想要在测试中嘲笑进程对象, 您可以使用此程序 .
registerCrashHandler({
process: myProcessObject
});
兼容性
从哨兵中迁移
可靠性 Kit 相撞处理器是 Sentry 未发现的例外处理器的替换, 您的应用程序可能正在使用它 。 为了使用这个模块,你需要离开哨兵. 我们对此有一套移民指南。 。 。 .
移动
咨询 移徙指南 如果你想要迁移到这个软件包的后期主要版本.
捐款
见 可靠性工具包中心贡献指南。 。 。 .
许可证
凭 麻省理工学院 执照.
版权:"2022","金融时报"有限公司.