节点(js)的官方空气制动通知器
在节点.js和 报告给 空中刹车如果你要找的话 浏览器支持, 有一个 单独的软件包。 。 。 .
安装
使用线条 :
yarn add @airbrake/node
使用 npm :
npm install @airbrake/node
基本用途
首先,以项目标识和项目密钥初始化通知符
空中刹车寻找你的 project_id 财务报告和审定财务报表 project_key
导航您的项目 设置 从右侧复制值
侧边栏 :

const { Notifier } = require('@airbrake/node');
const airbrake = new Notifier({
projectId: 1,
projectKey: 'REPLACE_ME',
environment: 'production',
});
然后,你可以发送一条短信给空气刹:
let promise = airbrake.notify(`user id=${user_id} not found`);
promise.then((notice) => {
if (notice.id) {
console.log('notice id', notice.id);
} else {
console.log('notify failed', notice.error);
}
});
或直接报告错误 :
try {
throw new Error('Hello from Airbrake!');
} catch (err) {
airbrake.notify(err);
}
或者,您可以将任何可能使用 wrap
方法 :
let startApp = () => {
throw new Error('Hello from Airbrake!');
};
startApp = airbrake.wrap(startApp);
// Any exceptions thrown in startApp will be reported to Airbrake.
startApp();
或使用 call 快捷键 :
let startApp = () => {
throw new Error('Hello from Airbrake!');
};
airbrake.call(startApp);
示例配置
高级使用
说明
可以用各种有用的信息对错误通知进行注释 在报告的对象中提供它们的时间.
try {
startApp();
} catch (err) {
airbrake.notify({
error: err,
context: { component: 'bootstrap' },
environment: { env1: 'value' },
params: { param1: 'value' },
session: { session1: 'value' },
});
}
严重性
严重性 允许
分类错误有多严重。 默认,它设定为 error改为:
重新定义严重性, 简单覆盖 context/severity 通知对象:
airbrake.notify({
error: err,
context: { severity: 'warning' },
});
过滤出错
申请中可能有些错误 你对这个不感兴趣 发送到 Airbrake 中,例如 由 3 党派 库 所抛出的错误 .
空气刹车通知器 很容易忽略这个沙发
处理合法错误。 通过提供过滤器向通知者添加过滤器
函数到 addFilter。 。 。 .
addFilter 接受整个
错误通知 发送至
空中刹车和提供进入 context, (中文(简体) ), environment, (中文(简体) ), params, (中文(简体) ),
财务报告和审定财务报表 session 属性。 还包括单元素 errors 数组
联合国 backtrace 属性和相关回溯行.
过滤器函数的返回值决定错误是否 将提交通知.
- 若为
null返回时,通知被忽略. - 否则,将提交退回的通知.
错误通知必须通过所有要提交的过滤器.
在下面的例子中,管理员引发的所有错误将被忽略:
airbrake.addFilter((notice) => {
if (notice.params.admin) {
// Ignore errors from admin sessions.
return null;
}
return notice;
});
过滤器也可以用于修改通知有效载荷,例如用于设定环境 和应用程序版本 :
airbrake.addFilter((notice) => {
notice.context.environment = 'production';
notice.context.version = '1.2.3';
return notice;
});
过滤密钥
与 keysBlocklist 选项,您可以指定包含
必须过滤的敏感信息:
const airbrake = new Notifier({
// ...
keysBlocklist: [
'password', // exact match
/secret/, // regexp match
],
});
节点.js 请求和代理
用来使用 请求 HTTP 客户端, 通过
页:1 request 选项,用于接受请求的包装:
const airbrake = new Notifier({
// ...
request: request.defaults({ proxy: 'http://localproxy.com' }),
});
仪器
@airbrake/node 试图自动记录各种性能
度量衡。 您可以使用 performanceStats 选项 :
const airbrake = new Notifier({
// ...
performanceStats: false,
});
过滤性能数据
addPerformanceFilter 允许过滤性能数据。 返回时 null 内
防止向空气刹车报告这一度量的过滤器.
airbrake.addPerformanceFilter((metric) => {
if (metric.route === '/foo') {
// Requests to '/foo' will not be reported
return null;
}
return metric;
});