获取更多动态,关注公众号:黑客下午茶

Breadcrumbs

Sentry 使用 breadcrumbs 创建事件发生之前的事件线索。这些事件与传统日志非常相似,但是可以记录更丰富的结构化数据。

此页面概述了手动 breadcrumb 录制(recording)和自定义(customization)。了解有关 Issue Details 页面上显示的信息的更多信息,以及如何过滤 breadcrumbs 以快速解决 Using Breadcrumbs 中的问题。

Manual Breadcrumbs

每当发生有趣的事情时,您都可以手动添加 breadcrumbs。例如,如果用户进行身份验证或发生其他状态更改,则可以手动记录一个面包屑。

Copied
import 'package:sentry/sentry.dart';

Sentry.addBreadcrumb(Breadcrumb(message: 'Authenticated user'));

Automatic Breadcrumbs

SDK 及其相关的集成将自动记录许多类型的 breadcrumbs。例如,浏览器 JavaScript SDK 将自动记录所有 location 更改。

Customize Breadcrumbs

SDK 允许您通过 before_breadcrumb 挂钩自定义 breadcrumbs。此挂钩传递了已经组装好的 breadcrumb,并且在某些SDK 中传递了可选 hint。该函数可以修改 breadcrumb 或通过返回 null 决定完全放弃它:

Copied
import 'package:sentry/sentry.dart';

Breadcrumb beforeBreadcrumb(Breadcrumb breadcrumb, {dynamic hint}) {
  return 'a.spammy.Logger' == breadcrumb.category ? null : breadcrumb;
}

Future<void> main() async {
  await Sentry.init((options) => options.beforeBreadcrumb = beforeBreadcrumb);
}

有关如何使用 hint 的信息,请参阅 Filtering Events

You can edit this page on GitHub.