Integrations
Deprecation Warning
A new Go SDK has superseded this deprecated version. Sentry preserves this documentation for customers using the old raven-go
client. Learn more about the project on GitHub and check out our migration guide.
The Raven Go package currently comes with an integration for the native net/http
module to make it easy to handle common scenarios. More frameworks will be coming soon.
Raven Go provides middleware that can be used with the stdlib net/http
library to automatically handle panics that occur during an http request.
Simply install raven-go
through go get
:
go get github.com/getsentry/raven-go
Make sure that you’ve set configured raven
with your DSN, typically inside the init()
in your main
package is a good place.
package main
import "github.com/getsentry/raven-go"
func init() {
raven.SetDSN("https://examplePublicKey@o0.ingest.sentry.io/0")
}
If you don’t call SetDSN
, we will attempt to read it from your environment under the SENTRY_DSN
environment variable. The release and environment will also be read from the environment variables SENTRY_RELEASE
and SENTRY_ENVIRONMENT
if set.
Next, we need to wrap our http.Handler
with our RecoveryHandler
:
func raisesError(w http.ResponseWriter, r *http.Request) {
panic("My first Sentry error!")
}
http.HandleFunc("/debug-sentry", raven.RecoveryHandler(raisesError))
You can use the above snippet to verify the Sentry integration by visiting the above route in your application and verifying the error in Sentry.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").