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

Basic Options

SDK 可以使用多种选项进行配置。这些选项在 SDK 中基本上是标准化的,但在更好地适应平台特性方面存在一些差异。选项是在 SDK 首次初始化时设置的。

Options can be set by passing a callback to the Init() method which will pass the option object along for modifications:

Copied
using Sentry;

using (SentrySdk.Init(o =>
{
    o.Dsn = "https://examplePublicKey@o0.ingest.sentry.io/0";
    o.MaxBreadcrumbs = 50;
    o.Debug = true;
})
{
    // app code here
}

Common Options

跨 SDK 的常见选项列表。这些功能在所有 SDK 中或多或少都是一样的,但是为了更好地支持平台,会存在一些细微的差异。可以从环境变量或你的 ~/.sentryclirc 文件中自动的读取的选项(SENTRY_DSN, SENTRY_ENVIRONMENT, SENTRY_RELEASE)。有关更多信息,请参见Working with Projects

Dsn

DSN 告诉 SDK 将事件发送到哪里。如果没有提供这个值,SDK 将尝试从 SENTRY_DSN 环境变量中读取它。如果这个变量也不存在,SDK 就不会发送任何事件。

在没有进程环境(如浏览器)的运行时中,fallback 不会应用。

Debug

打开或关闭调试模式。如果启用了调试,如果发送事件时出现问题,SDK 将尝试打印出有用的调试信息。默认值总是false。一般不建议在生产环境中打开它,尽管打开 debug 模式不会引起任何安全问题。

Release

设置 release(发行版)。某些 SDK 会尝试自动配置 release,但是最好手动设置 release,以确保该 release 与您的 deploy integrations 或 source map uploads 同步。版本名称是字符串,但是 Sentry 会检测到某些格式,并且它们的呈现方式可能有所不同。在 releases 文档 中了解有关如何发送 release 数据的更多信息,以便 Sentry 可以告诉您 release 之间的回归并确定潜在的来源。

默认情况下,SDK 会尝试从环境变量 SENTRY_RELEASE 中读取该值(在浏览器 SDK 中,将从 window.SENTRY_RELEASE 中读取该值,如果可用)。

Environment

设置环境。此字符串为自由形式,默认情况下不设置。一个 release 可以与多个环境相关联,以便在 UI 中将它们分开(可以考虑stagingprod 或类似的方式)。

默认情况下,SDK 将尝试从 SENTRY_ENVIRONMENT 环境变量中读取该值(浏览器 SDK 除外)。

SampleRate

配置错误事件的采样率,范围为 0.01.0。默认值为 1.0,表示发送了 100% 的错误事件。如果设置为 0.1,则仅发送 10% 的错误事件。事件是随机选择的。

MaxBreadcrumbs

这个变量控制应该捕获的面包屑( breadcrumbs )总数。默认值为 100

AttachStacktrace

当启用时,堆栈跟踪将自动附加到所有记录的消息。堆栈跟踪总是附加到异常;然而,当设置此选项时,堆栈跟踪也会与消息一起发送。例如,该选项意味着堆栈跟踪显示在所有日志消息的旁边。

该选项默认为 off

对于有堆栈跟踪和没有堆栈跟踪的事件,Sentry中的分组是不同的。结果,在为某些事件启用或禁用此 flag 时,您将获得新的组。

SendDefaultPii

如果启用此 flag,则某些个人识别信息(PII)将由 active integrations 添加。默认情况下,不发送此类数据。

如果可能的话,我们建议默认情况下启用此功能以发送所有此类数据,并使用管理敏感数据的功能手动删除您不想发送的内容。

InAppInclude

A list of string prefixes of module names that belong to the app. This option takes precedence over in-app-exclude.

InAppExclude

A list of string prefixes of module names that do not belong to the app, but rather to third-party packages. Modules considered not part of the app will be hidden from stack traces by default.

This option can be overridden using in-app-include.

Hooks

这些选项可用于以各种方式 hook SDK,以定制事件的报告。

BeforeSend

使用 SDK-specific 事件对象调用此函数,可以返回修改后的事件对象或不返回任何内容,以跳过报告事件。例如,这可以用于在发送前手动剥离 PII。

BeforeBreadcrumb

在将面包屑(breadcrumb)添加到作用域(scope)之前,使用 SDK 特定的面包屑(SDK-specific breadcrumb)对象调用此函数。当该函数未返回任何内容时,将删除 breadcrumb。要传递 breadcrumb,请返回第一个参数,其中包含 breadcrumb 对象。回调通常会获得第二个参数(称为“hint”),该参数包含创建 breadcrumb 的原始对象,以进一步自定义面包屑的外观。

Tracing Options

You can edit this page on GitHub.