mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-10-10 20:22:31 +02:00
Better Sentry support
This commit is contained in:
@@ -3,9 +3,10 @@ package main
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/bugsnag/bugsnag-go"
|
||||
"github.com/getsentry/raven-go"
|
||||
"github.com/getsentry/sentry-go"
|
||||
"github.com/honeybadger-io/honeybadger-go"
|
||||
)
|
||||
|
||||
@@ -15,6 +16,7 @@ var (
|
||||
sentryEnabled bool
|
||||
|
||||
headersReplacer = strings.NewReplacer("-", "_")
|
||||
sentryTimeout = 5 * time.Second
|
||||
)
|
||||
|
||||
func initErrorsReporting() {
|
||||
@@ -35,9 +37,11 @@ func initErrorsReporting() {
|
||||
}
|
||||
|
||||
if len(conf.SentryDSN) > 0 {
|
||||
raven.SetDSN(conf.SentryDSN)
|
||||
raven.SetEnvironment(conf.SentryEnvironment)
|
||||
raven.SetRelease(conf.SentryRelease)
|
||||
sentry.Init(sentry.ClientOptions{
|
||||
Dsn: conf.SentryDSN,
|
||||
Release: conf.SentryRelease,
|
||||
Environment: conf.SentryEnvironment,
|
||||
})
|
||||
|
||||
sentryEnabled = true
|
||||
}
|
||||
@@ -60,7 +64,12 @@ func reportError(err error, req *http.Request) {
|
||||
}
|
||||
|
||||
if sentryEnabled {
|
||||
raven.SetHttpContext(raven.NewHttp(req))
|
||||
raven.CaptureError(err, nil)
|
||||
hub := sentry.CurrentHub().Clone()
|
||||
hub.Scope().SetRequest(sentry.Request{}.FromHTTPRequest(req))
|
||||
hub.Scope().SetLevel(sentry.LevelError)
|
||||
eventID := hub.CaptureException(err)
|
||||
if eventID != nil {
|
||||
hub.Flush(sentryTimeout)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user