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

Breadcrumbs

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

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

Manual Breadcrumbs

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

Copied
Sentry\addBreadcrumb(new Sentry\Breadcrumb(
  Sentry\Breadcrumb::LEVEL_ERROR,
  Sentry\Breadcrumb::TYPE_ERROR,
  'error_reporting',
  'foo bar'
));

可用的 breadcrumb keys 包括 type, category, message, level, timestamp(许多SDK会自动为您设置)和 data,在此处可以放置您希望包含面包屑的任何其他信息。使用这六个 key 以外的 key 不会导致错误,但是会导致在由 Sentry 处理事件时删除数据。

Automatic Breadcrumbs

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

Customize Breadcrumbs

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

Copied
Sentry\init([
  'dsn' => 'https://examplePublicKey@o0.ingest.sentry.io/0',
  'before_breadcrumb' => function (Sentry\Breadcrumb $breadcrumb): ?Breadcrumb {
    return $breadcrumb;
  },
]);

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

You can edit this page on GitHub.