improve the log of panic recovering (#906)

This commit is contained in:
Yang Shi 2019-11-03 07:08:54 +08:00 committed by Vasiliy Tolstov
parent a5978b5470
commit 5cc92860a6

View File

@ -7,6 +7,7 @@ import (
"fmt" "fmt"
"net" "net"
"reflect" "reflect"
"runtime/debug"
"sort" "sort"
"strconv" "strconv"
"strings" "strings"
@ -340,7 +341,8 @@ func (g *grpcServer) processRequest(stream grpc.ServerStream, service *service,
fn := func(ctx context.Context, req server.Request, rsp interface{}) error { fn := func(ctx context.Context, req server.Request, rsp interface{}) error {
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
log.Logf("handler %s panic recovered, err: %s", mtype.method.Name, r) log.Log("panic recovered: ", r)
log.Logf(string(debug.Stack()))
} }
}() }()
returnValues = function.Call([]reflect.Value{service.rcvr, mtype.prepareContext(ctx), reflect.ValueOf(argv.Interface()), reflect.ValueOf(rsp)}) returnValues = function.Call([]reflect.Value{service.rcvr, mtype.prepareContext(ctx), reflect.ValueOf(argv.Interface()), reflect.ValueOf(rsp)})