summaryrefslogtreecommitdiffstats
path: root/vendor/gopkg.in/gemnasium/logrus-airbrake-hook.v2/airbrake.go
diff options
context:
space:
mode:
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.go71
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,
- }
-}