File tree Expand file tree Collapse file tree 3 files changed +10
-13
lines changed Expand file tree Collapse file tree 3 files changed +10
-13
lines changed Original file line number Diff line number Diff line change @@ -2,11 +2,10 @@ package interceptors
2
2
3
3
import (
4
4
"context"
5
+ "fmt"
5
6
stdlog "log"
6
7
"runtime/debug"
7
- "time"
8
8
9
- "github.com/getsentry/sentry-go"
10
9
grpcrecovery "github.com/grpc-ecosystem/go-grpc-middleware/recovery"
11
10
"google.golang.org/grpc"
12
11
"google.golang.org/grpc/codes"
@@ -31,17 +30,14 @@ func RecoveryStreamServerInterceptor() grpc.StreamServerInterceptor {
31
30
32
31
var recoveryOption = []grpcrecovery.Option {
33
32
grpcrecovery .WithRecoveryHandlerContext (func (ctx context.Context , rec interface {}) (err error ) {
34
- sentry .CurrentHub ().Recover (rec )
35
- sentry .Flush (time .Second * 5 )
36
-
37
33
l , err := sdkloggercontext .Extract (ctx )
38
34
if err != nil {
39
35
debug .PrintStack ()
40
36
stdlog .Printf ("logger not found in context: %v\n " , err )
41
37
stdlog .Fatalf ("grpc: panic error: %v" , rec )
42
38
}
43
39
44
- l .Fatalf ("panic error: %v" , rec )
40
+ l .WithError ( fmt . Errorf ( "%v" , rec )). Fatalf ("panic error: %v" , rec )
45
41
return status .Errorf (codes .Internal , "" )
46
42
}),
47
43
}
Original file line number Diff line number Diff line change 1
1
package middleware
2
2
3
3
import (
4
+ "fmt"
4
5
"log"
5
6
"net/http"
6
7
"runtime/debug"
7
- "time"
8
-
9
- "github.com/getsentry/sentry-go"
10
8
11
9
sdkloggercontext "github.com/scribd/go-sdk/pkg/context/logger"
12
10
)
@@ -27,17 +25,15 @@ func (rm RecoveryMiddleware) Handler(next http.Handler) http.Handler {
27
25
return http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
28
26
defer func () {
29
27
if rec := recover (); rec != nil {
30
- sentry .CurrentHub ().Recover (rec )
31
- sentry .Flush (time .Second * 5 )
32
-
33
28
l , err := sdkloggercontext .Extract (r .Context ())
34
29
if err != nil {
35
30
debug .PrintStack ()
36
31
log .Printf ("logger not found in context: %v\n " , err )
37
32
log .Fatalf ("http: panic serving URI %s: %v" , r .URL .RequestURI (), rec )
38
33
}
39
34
40
- l .Fatalf ("http: panic serving URI %s: %v" , r .URL .RequestURI (), rec )
35
+ l .WithError (fmt .Errorf ("%v" , rec )).
36
+ Fatalf ("http: panic serving URI %s: %v" , r .URL .RequestURI (), rec )
41
37
}
42
38
}()
43
39
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ package tracking
2
2
3
3
import (
4
4
"fmt"
5
+ "time"
5
6
6
7
"github.com/getsentry/sentry-go"
7
8
"github.com/sirupsen/logrus"
@@ -67,6 +68,10 @@ func (hook *Hook) Fire(entry *logrus.Entry) error {
67
68
68
69
sentry .CaptureEvent (event )
69
70
71
+ if entry .Level <= logrus .FatalLevel {
72
+ sentry .Flush (time .Second * 5 )
73
+ }
74
+
70
75
return nil
71
76
}
72
77
You can’t perform that action at this time.
0 commit comments