🗡️

异常上报

 

接入 Sentry

package main import ( "errors" "github.com/getsentry/sentry-go" zlssentry "github.com/sohaha/zlsgo-sentry" "github.com/sohaha/zlsgo/znet" "github.com/sohaha/zlsgo/zstring" ) func main() { r := znet.New() // 不要在这里异常统一处理 // r.PanicHandler(func(c *znet.Context, err error) { // e := err.Error() // c.String(500, "err: "+e) // }) // 注册中间件 if sentryMiddleware, err := zlssentry.New(zlssentry.Options{ // 上报地址 Dsn: "https://[email protected]/5279448", // 在这里设置异常统一处理 PanicHandler: func(c *znet.Context, err error) { e := err.Error() c.String(500, "err: "+e) }, }); err != nil { r.Log.Fatal(err) } else { r.Use(sentryMiddleware) } r.GET("/", func(c *znet.Context) { // 手动上报异常 sentry.CaptureException(errors.New("这是一个错误")) // 手动上报信息 sentry.CaptureMessage("这是一个信息") c.JSON(200, znet.Data{"message": "Hello World"}) }) // 模拟触发发生异常的请求 r.Any("/panic", func(c *znet.Context) { err := "模拟一个恐慌" + zstring.Rand(5) panic(err) }) znet.Run() }