· 6 years ago · Sep 29, 2019, 10:20 AM
1package main
2
3import "errors"
4import "fmt"
5import "github.com/honeybadger-io/honeybadger-go"
6
7func notifyHoneybadger(err error) {
8 if err == nil {
9 return
10 }
11 honeybadger.Notify(err)
12}
13
14func main() {
15 honeybadger.Configure(honeybadger.Configuration{APIKey: "api key here"})
16 honeybadger.BeforeNotify(
17 func(notice *honeybadger.Notice) error {
18 if notice.ErrorClass == "errors.errorString" ||
19 notice.ErrorClass == "errors.fundamental" ||
20 notice.ErrorClass == "errors.withStack" {
21 notice.Fingerprint = notice.ErrorMessage
22 }
23 fmt.Println(notice.ErrorClass)
24 fmt.Println(notice.ErrorMessage)
25 fmt.Println(notice.Fingerprint)
26 return nil
27 },
28 )
29
30 err := errors.New("unable to parse get transaction response: unexpected end of JSON input")
31
32 notifyHoneybadger(err)
33
34 fmt.Println("done")
35}