You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Sentry中不触发异常能否获取前后端stack trace及breadcrumbs?

实现方案

后端(Python)实现

Sentry Python SDK 会在本地内存中缓存当前上下文的 breadcrumbs 与调用栈信息,无需上报即可直接读取:

  • 初始化SDK时配置max_breadcrumbs=50,限定本地最多缓存50条操作记录,符合你的需求
  • 调用sentry_sdk.scope.get_current_scope()即可获取当前活跃上下文对象,其breadcrumbs属性即为缓存的操作记录
  • 调用sentry_sdk.utils.get_stacktrace()可直接获取当前调用栈的格式化内容,无需主动抛出异常
  • 全程不调用任何capture_*开头的上报方法,就不会在Sentry后台生成任何事件

代码示例:

import sentry_sdk
from sentry_sdk.scope import get_current_scope
from sentry_sdk.utils import get_stacktrace

# SDK初始化配置
sentry_sdk.init(
    dsn="你的项目DSN",
    max_breadcrumbs=50,
    # 其余原有配置保持不变
)

# 本地读取数据逻辑,不会触发上报
def fetch_local_sentry_data():
    current_scope = get_current_scope()
    # 读取最近50条操作记录
    recent_breadcrumbs = list(current_scope.breadcrumbs)
    # 读取当前栈追踪,添加参数可过滤SDK自身的调用帧
    current_stacktrace = get_stacktrace(include_sentry_frames=False)
    return {
        "breadcrumbs": recent_breadcrumbs,
        "stack_trace": current_stacktrace
    }

前端实现

前端Sentry SDK的逻辑与后端一致,所有缓存数据都可本地读取不上报:

  • 初始化SDK时配置maxBreadcrumbs: 50,限定缓存的操作记录数量
  • 调用Sentry.getCurrentScope()获取当前上下文,调用getBreadcrumbs()方法即可拿到最近50条操作记录
  • 借助Sentry.utils.getStackTrace()方法即可获取当前调用栈,无需抛出错误
  • 不调用captureException、captureMessage等上报方法,就不会生成Sentry事件

代码示例:

// SDK初始化配置
Sentry.init({
  dsn: "你的项目DSN",
  maxBreadcrumbs: 50,
  // 其余原有配置保持不变
})

// 本地读取数据逻辑,不会触发上报
const fetchLocalSentryData = () => {
  const currentScope = Sentry.getCurrentScope()
  // 读取最近50条操作记录
  const recentBreadcrumbs = currentScope.getBreadcrumbs()
  // 读取当前栈追踪
  const currentStacktrace = Sentry.utils.getStackTrace(new Error())
  return {
    breadcrumbs: recentBreadcrumbs,
    stackTrace: currentStacktrace
  }
}
注意事项
  • Sentry默认会对后端的每个请求做scope隔离,不同请求的breadcrumbs不会共享,如果需要全局的操作记录,可自行配置scope继承逻辑或者额外维护一份操作日志
  • 读取的栈追踪默认包含Sentry SDK自身的调用帧,可通过对应方法的过滤参数剔除不需要的帧内容
  • 全程没有任何上报行为,不会在Sentry后台生成事件,也不会触发任何告警规则

内容的提问来源于stack exchange,提问作者Sakshi Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:18:02