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


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

func init() {

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 root(w http.ResponseWriter, r *http.Request) {
    // ... do stuff
http.HandleFunc("/", raven.RecoveryHandler(root))
On this page