func Ctx(ctx context.Context, info *grpc.UnaryServerInfo, code codes.Code) zapcore.Field {
	logCtx := Context{
		HTTPRequest: HTTPRequest{
			Method:             info.FullMethod,
			ResponseStatusCode: code.String(),
		},
	}
	if p, ok := peer.FromContext(ctx); ok {
		logCtx.HTTPRequest.RemoteIP = p.Addr.String()
	}

	return zap.Object("context", logCtx)
}
func Ctx(ctx context.Context, info *grpc.UnaryServerInfo, code codes.Code) zapcore.Field {
	logCtx := Context{
		HTTPRequest: HTTPRequest{
			Method:             info.FullMethod,
			ResponseStatusCode: code.String(),
		},
	}
	if p, ok := peer.FromContext(ctx); ok {
		logCtx.HTTPRequest.RemoteIP = p.Addr.String()
	}

	return zap.Object("context", logCtx)
}
// Ctx ...