概述
Claude Code 支持通过 Sentry 捕获运行时异常并上报到你自己指定的 Sentry 实例。- 配置了
SENTRY_DSN:自动初始化 Sentry SDK,捕获未处理异常和关键错误 - 未配置:所有 Sentry 调用均为 no-op,零开销
环境变量
只需要这一个变量,设置后即启用。
使用方式
自托管 Sentry
Sentry Cloud (SaaS)
不使用 Sentry(默认行为)
Sentry 服务端配置
步骤
- 部署 Sentry 实例(Docker 自托管 或 使用 sentry.io Cloud)
- 创建 Project,选择 Node.js 平台
- 获取项目的 DSN(Settings → Projects → Client Keys → DSN)
- 将 DSN 设置为
SENTRY_DSN环境变量
功能详情
错误捕获
- 自动捕获:
SentryErrorBoundary包裹关键 React 组件,捕获渲染错误 - 手动上报:
errorLogSink在写入错误日志时同步上报到 Sentry - 优雅关闭:进程退出时
closeSentry()确保事件发送完毕(2s 超时)
安全过滤
beforeSend 钩子会自动剥离以下敏感 header:
authorizationx-api-keycookieset-cookie
忽略的错误类型
以下错误模式会被忽略,不会上报:其他配置
- 采样率:
sampleRate: 1.0(捕获全部错误事件) - 面包屑上限:
maxBreadcrumbs: 20(控制 payload 体积) - 性能事务:已关闭(
beforeSendTransaction返回null),仅上报错误