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

Sentry.CaptureException返回事件ID但仪表盘无日志(Go数据库场景)

Sentry事件终端有ID但后台无日志的调试方案

验证初始化配置

  • 确认config.Initialize()中的DSN完全正确:从Sentry项目设置的「Client Keys (DSN)」复制,不要用项目名称或公钥替代
  • 检查初始化时是否指定了Environment字段(如Environment: "dev"),Sentry仪表盘默认会按环境筛选,确保当前查看的环境和上报环境一致
  • 程序退出前必须调用sentry.Flush(time.Second*5):Sentry采用异步上报,若程序崩溃或提前退出,未完成的上报会丢失,确保defer sentry.Flush(...)在初始化后执行

排查过滤与采样规则

  • 检查初始化代码中的SampleRate:若设置为0或极低值,会导致事件被采样丢弃,建议临时设为1.0测试
  • 查看Sentry项目后台的「Settings > Filters」:确认没有启用过滤特定消息、错误类型的规则,避免当前事件被过滤
  • 检查「Settings > Projects > 你的项目 > Inbound Filters」:关闭「Filter out known errors」等自动过滤规则,测试是否能收到事件

开启Sentry调试日志

初始化时开启Debug模式,获取详细上报过程:

sentry.Init(sentry.ClientOptions{
    Dsn:  "你的DSN",
    Debug: true,
})

终端会输出上报请求的状态码、错误信息,直接定位是上报失败还是后台未显示

确认项目Slug正确性

之前用项目名称作为slug错误,正确的项目slug在Sentry项目URL中:https://sentry.io/organizations/[org-slug]/projects/[project-slug]/,这里的project-slug才是用于查找事件的正确标识

检查事件隐藏状态

  • 进入Sentry后台「Issues > All Issues」,切换到「Hidden」标签,查看是否有被标记为隐藏的事件(如重复事件、自动忽略项)
  • 查看「Settings > Projects > 你的项目 > Issue Alert Rules」,确认没有规则将事件自动归档或隐藏

最简代码测试

编写独立测试代码,排除业务逻辑干扰:

package main

import (
    "time"
    "github.com/getsentry/sentry-go"
)

func main() {
    if err := sentry.Init(sentry.ClientOptions{Dsn: "你的DSN"}); err != nil {
        panic(err)
    }
    defer sentry.Flush(time.Second * 5)

    sentry.CaptureMessage("测试Sentry上报")
}

若这段代码能成功上报,说明问题出在数据库连接逻辑的上报时机(如Sentry未初始化就调用上报、程序崩溃导致Flush未执行)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:05:13