rollbar
is a Go Rollbar client that makes it easy to report errors to Rollbar
with stacktraces. Errors are sent to Rollbar asynchronously in a background
goroutine.
Because Go's error
type doesn't include stack information from when it was set
or allocated, rollbar
uses the stack information from where the error was
reported.
You may also want to look at:
- stvp/roll - Simpler, synchronous (no background goroutine) with a nicer API.
Standard installation to your GOPATH via go get:
go get github.com/stvp/rollbar
package main
import (
"github.com/stvp/rollbar"
)
func main() {
rollbar.Token = "MY_TOKEN"
rollbar.Environment = "production" // defaults to "development"
result, err := DoSomething()
if err != nil {
// Error reporting
rollbar.Error(rollbar.ERR, err)
}
// Message reporting
rollbar.Message("info", "Message body goes here")
// Block until all queued messages are sent to Rollbar.
// You can do this in a defer() if needed.
rollbar.Wait()
}
Set up a dummy project in Rollbar and pass the access token as an environment
variable to go test
:
TOKEN=f0df01587b8f76b2c217af34c479f9ea go test
And verify the reported errors manually in the Rollbar dashboard.
For best practices and more information on how to handle errors in Go, these are some great places to get started:
Thanks, all!
- @kjk
- @nazwa
- @ossareh
- @paulmach
- @Soulou
- @tike
- @tysonmote
- @marcelgruber