Loading... ```go func LoggerInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) { resp, err = handler(ctx, req) if err != nil { causeErr := errors.Cause(err) // err类型 if e, ok := causeErr.(*xerr.CodeError); ok { //自定义错误类型 logx.WithContext(ctx).Errorf("【RPC-SRV-ERR】 %+v", err) //转成grpc err err = status.Error(codes.Code(e.GetErrCode()), e.GetErrMsg()) } else { logx.WithContext(ctx).Errorf("【RPC-SRV-ERR】 %+v", err) } } return resp, err } ``` ```go //rpc log s.AddUnaryInterceptors(rpcserver.LoggerInterceptor) ``` 最后修改:2022 年 08 月 07 日 © 允许规范转载 打赏 赞赏作者 微信 赞 0 如果觉得我的文章对你有用,请随意赞赏