diff options
Diffstat (limited to 'vendor/gopkg.in/gemnasium/logrus-airbrake-hook.v2/airbrake.go')
-rw-r--r-- | vendor/gopkg.in/gemnasium/logrus-airbrake-hook.v2/airbrake.go | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/vendor/gopkg.in/gemnasium/logrus-airbrake-hook.v2/airbrake.go b/vendor/gopkg.in/gemnasium/logrus-airbrake-hook.v2/airbrake.go deleted file mode 100644 index a92e01ed..00000000 --- a/vendor/gopkg.in/gemnasium/logrus-airbrake-hook.v2/airbrake.go +++ /dev/null @@ -1,71 +0,0 @@ -package airbrake // import "gopkg.in/gemnasium/logrus-airbrake-hook.v2" - -import ( - "errors" - "fmt" - "net/http" - "os" - - "github.com/Sirupsen/logrus" - "gopkg.in/airbrake/gobrake.v2" -) - -// AirbrakeHook to send exceptions to an exception-tracking service compatible -// with the Airbrake API. -type airbrakeHook struct { - Airbrake *gobrake.Notifier -} - -func NewHook(projectID int64, apiKey, env string) *airbrakeHook { - airbrake := gobrake.NewNotifier(projectID, apiKey) - airbrake.AddFilter(func(notice *gobrake.Notice) *gobrake.Notice { - if env == "development" { - return nil - } - notice.Context["environment"] = env - return notice - }) - hook := &airbrakeHook{ - Airbrake: airbrake, - } - return hook -} - -func (hook *airbrakeHook) Fire(entry *logrus.Entry) error { - var notifyErr error - err, ok := entry.Data["error"].(error) - if ok { - notifyErr = err - } else { - notifyErr = errors.New(entry.Message) - } - var req *http.Request - for k, v := range entry.Data { - if r, ok := v.(*http.Request); ok { - req = r - delete(entry.Data, k) - break - } - } - notice := hook.Airbrake.Notice(notifyErr, req, 3) - for k, v := range entry.Data { - notice.Context[k] = fmt.Sprintf("%s", v) - } - - hook.sendNotice(notice) - return nil -} - -func (hook *airbrakeHook) sendNotice(notice *gobrake.Notice) { - if _, err := hook.Airbrake.SendNotice(notice); err != nil { - fmt.Fprintf(os.Stderr, "Failed to send error to Airbrake: %v\n", err) - } -} - -func (hook *airbrakeHook) Levels() []logrus.Level { - return []logrus.Level{ - logrus.ErrorLevel, - logrus.FatalLevel, - logrus.PanicLevel, - } -} |