1. 程式人生 > >Go框架net/http整合Sentry

Go框架net/http整合Sentry

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))