Go框架net/http整合Sentry
阿新 • • 發佈:2018-12-16
Raven Go提供了可與stdlib net / http庫一起使用的中介軟體,以自動處理在http請求期間發生的Pansic。
一、安裝
通過go get安裝raven-go。
$ go get github.com/getsentry/raven-go
二、配置
確保您已使用DSN設定配置的raven,通常在主包中的init()內部是一個好地方。
package main import "github.com/getsentry/raven-go" func init() { raven.SetDSN("https://<key>:<secret>@sentry.io/<project>") }
如果您不呼叫SetDSN,我們將嘗試在SENTRY_DSN環境變數下從您的環境中讀取它。如果設定,還將從環境變數SENTRY_RELEASE和SENTRY_ENVIRONMENT中讀取釋出和環境。 接下來,我們需要使用RecoveryHandler包裝http.Handler:
func root(w http.ResponseWriter, r *http.Request) {
// ... do stuff
}
http.HandleFunc("/", raven.RecoveryHandler(root))