@flareapp/js (英语)
JavaScript/ TypeScript 核心客户端 火焰 错误跟踪和记录 。 抓取前端 错误, 剖析堆栈跟踪, 收集浏览器上下文, 发送结构化日志, 并向 Flare 报告所有信息 后端 .
安装
npm install @flareapp/js
快开始
import { flare } from '@flareapp/js';
flare.light('YOUR_FLARE_API_KEY');
这就是你所需要的。 客户会自动聆听未发现的例外 和未处理的承诺拒绝, 收集浏览器上下文,并向 Flare 发送错误报告.
识别用户
将登录用户附加到报表中, 这样您就可以看到谁受到影响 :
import { flare } from '@flareapp/js';
flare.setUser({
id: 123,
email: '[email protected]',
fullName: 'Jane Doe',
});
公认领域: id (-) user.id, (中文(简体) ), email (-) user.email, (中文(简体) ), fullName (-) user.full_name, (中文(简体) ), ipAddress (-) client.address) (中文(简体) ). 任何额外的密钥都收集到下面 user.attributes。通过 null 在登录时清除用户 : flare.setUser(null)。 。 。 .
Cookie 同意书和 GDPR
客户端可以运行在同意工具后. 当同意解除时,它不会发出什么。 在征得同意之前,它甚至不汇编报告.
开关是一种方法:
flare.setConsent(true); // allow sending
flare.setConsent(false); // stop sending, and drop anything captured earlier
建议流量:不调用 flare.light(key) 直到获得同意。 没有钥匙,什么也没有发出, 所以这涵盖了你同意代码运行的那一刻。 使用 setConsent 用于退出和重新授予,因为一旦设置了密钥,它是唯一干净的关闭开关.
import { flare } from '@flareapp/js';
// Cookiebot example. OneTrust exposes OptanonWrapper; the idea is the same.
window.addEventListener('CookiebotOnAccept', () => {
flare.light('your-project-key'); // first grant: start the client
flare.setConsent(true); // and allow sending
});
window.addEventListener('CookiebotOnDecline', () => {
flare.setConsent(false); // withdrawal: stop all sends, drop buffers
});
如果您将密钥设定在后端, 而不是等待, 请从同意开始, 然后在用户接受时打开 :
import { flare } from '@flareapp/js';
flare.configure({ hasConsent: false }); // start off, before anything can send
flare.light('your-project-key');
window.addEventListener('CookiebotOnAccept', () => flare.setConsent(true));
window.addEventListener('CookiebotOnDecline', () => flare.setConsent(false));
打开 configure({ hasConsent: false }) 首先,在导入之后,所以在早期未发现的错误可以组装报告之前,门就关闭了.
因此,没有同意工具的设置保持不变. setConsent(false) 停止数据离开浏览器。 它不删除 fetch 财务报告和审定财务报表 XHR 补丁 追踪和面包屑 安装, 因为这些只读 在记忆中, 从来没有自己发送。 要取出这些,打电话 flare.configure({ enableTracing: false, enableBreadcrumbs: false })。 。 。 .
日志
除了出错,客户端还可以发送结构化日志. 日志是选入的: 启用这些日志 enableLogs,然后调用其中的任何
八个 syslog 级别 (debug, (中文(简体) ), info, (中文(简体) ), notice, (中文(简体) ), warning, (中文(简体) ), error, (中文(简体) ), critical, (中文(简体) ), alert, (中文(简体) ), emergency) (中文(简体) ).
flare.configure({ enableLogs: true });
flare.logger.info('Checkout started', { cartId: cart.id, total: cart.total });
日志是缓冲和分批的,当标签被隐藏时会被冲出,所以缓冲的日志可以在一个页面卸载后幸存. 可选 第二个参数是结构化的,可搜索的属性.
当有人离开时会发生什么
日志和横幅被分批分出,所以通常有访客离开时不在场. 客户冲它的时候 标签被隐藏或页面关闭.
浏览器将您当时可以发送的封顶: 大约64KB覆盖每个仍在飞行中的请求. 客人留下来 在60KB以下, 和日志和跨度分担预算.
切换标签是安全的。 隐藏标签触发同样的冲浪, 任何不合适的东西,当访客出去 回来.
如无相合,则批发仍为正常请求,而并非恒取. 这通常着陆,但 如果页面关闭, 可以取消 .
你只会在访问者离开前 达到许多遥测的极限 少记录这些 页面而不是提高限制.
文档
关于配置、钩子、上下文、面包屑、解决方案提供商的完整文档,以及更多 时间 耀斑/docs/javascript/一般/安装。 。 。 .
折旧
redactFullPath现在是一个被贬值的化名redactUrlQuery。两个名称 仍在出口并继续工作redactUrlQuery在新代码.
许可证
麻省理工学院许可证(MIT). 请看 许可证文件 更多信息.