Hyperledger fabric 当使用在fabric go sdk中使用“WithSDK”配置的网关发送事务时,会发生瞬时_故障

Hyperledger fabric 当使用在fabric go sdk中使用“WithSDK”配置的网关发送事务时,会发生瞬时_故障,hyperledger-fabric,hyperledger-fabric-sdk-go,Hyperledger Fabric,Hyperledger Fabric Sdk Go,我正在使用Fabric-go-sdk构建一个客户端服务器,以连接Hyperledger结构网络。要使用自定义日志系统,我使用fabsdk.New()获取一个FabricSDK对象,然后使用Gateway.WithSDK函数将其注入Gateway对象。检查以下代码: ccpPath:=getPath(“connectionprofile.json”,staticPath) sdk,err:=fabsdk.New(config.FromFile(ccpath)), WithLoggerPkg(&Fa

我正在使用
Fabric-go-sdk
构建一个客户端服务器,以连接Hyperledger结构网络。要使用自定义日志系统,我使用
fabsdk.New()
获取一个
FabricSDK
对象,然后使用
Gateway.WithSDK
函数将其注入
Gateway
对象。检查以下代码:

ccpPath:=getPath(“connectionprofile.json”,staticPath)
sdk,err:=fabsdk.New(config.FromFile(ccpath)),
WithLoggerPkg(&FabSDKLoggerProvider{}),//使用我的自定义日志系统
)
如果出错!=零{
返回nil,errors.Wrap(err,“未能创建新的fabsdk”)
}
gw,错误:=网关。连接(
网关.WithSDK(sdk),
网关。WithIdentity(钱包,“管理员”),
)
如果出错!=零{
返回nil,errors.Wrap(err,“无法通过结构网关连接网络”)
}
当我运行测试时,我得到一个错误:

Failed to submit: error registering for TxStatus event: could not create client conn: could not connect to peer0.test.bpl:7051: dialing connection on target [peer0.test.bpl:7051]: connection is in TRANSIENT_FAILURE
我运行的测试是使用
Gateway
对象及其
Submit
方法发送事务的测试

当我定义了一个没有
FabricSDK
Gateway
对象时,它可以正常工作。也就是说,如果我使用下面的代码,测试将顺利通过。但是,在这种情况下,我不能使用我的自定义日志系统。(我只想禁用Fabric SDK的日志系统。)

ccpPath:=getPath(“connectionprofile.json”,staticPath)
gw,错误:=网关。连接(
gateway.WithConfig(config.FromFile(ccpath)),
网关。WithIdentity(钱包,“管理员”),
)
如果出错!=零{
返回nil,errors.Wrap(err,“无法通过结构网关连接网络”)
}
根据我的调查,由
fabsdk.New()
初始化的
FabricSDK
对象与
gateway.Connect(gateway.WithConfig())
之间的区别在于由
gateway.Connect(gateway.WithConfig())
创建的
FabricSDK
对象具有
fabsdk.WithMSPPkg(gw.mspfactory)选项
但另一个没有。我试着给我的
fabsdk.New()
code提供相同的选项,但我找不到如何做

所以,我的问题是:

  • 我如何处理“瞬时故障”错误,或
  • 如何禁用Fabric SDK的默认日志记录系统
谢谢