在Hyperledger结构中,如何打印出链代码功能的消息和日志?

问题描述 投票:-2回答:2

我想通过Golang测试我的链代码,所以我使用了Hyperledger fabric chaincodedev测试。

链码的所有功能(调用,查询等)都有效,但控制台上没有链码的日志和消息。

在每种情况下,记录都设置为“debug”。

我想打印出调用的结果消息,在控制台上查询,但只打印出消息:“myc”; “我的C”; “我的C”; ...

2019-03-15 18:07:04.550 UTC [shim] setupChaincodeLogging -> INFO 001 Chaincode log level not provided; defaulting to: INFO
2019-03-15 18:07:04.550 UTC [shim] setupChaincodeLogging -> INFO 002 Chaincode (build level: ) starting up ...
2019-03-15 18:07:04.551 UTC [bccsp] initBCCSP -> DEBU 001 Initialize BCCSP [SW]
2019-03-15 18:07:04.551 UTC [grpc] DialContext -> DEBU 002 parsed scheme: ""
2019-03-15 18:07:04.551 UTC [grpc] DialContext -> DEBU 003 scheme "" not registered, fallback to default scheme
2019-03-15 18:07:04.551 UTC [grpc] watcher -> DEBU 004 ccResolverWrapper: sending new addresses to cc: [{peer:7052 0  <nil>}]
2019-03-15 18:07:04.551 UTC [grpc] switchBalancer -> DEBU 005 ClientConn switching balancer to "pick_first"
2019-03-15 18:07:04.551 UTC [grpc] HandleSubConnStateChange -> DEBU 006 pickfirstBalancer: HandleSubConnStateChange: 0xc00038eca0, CONNECTING
2019-03-15 18:07:04.552 UTC [grpc] HandleSubConnStateChange -> DEBU 007 pickfirstBalancer: HandleSubConnStateChange: 0xc00038eca0, READY

myc myc myc myc myc myc myc

enter image description here

go hyperledger-fabric
2个回答
0
投票

它看起来像fmt.Println输出。

但你可以用户

shim.NewLogger("YOUR_COMPONENT_NAME")

你可以找到一个shim logger的例子:

https://github.com/IBM-Blockchain-Archive/fabric-boilerplate/blob/master/blockchain/src/build-chaincode/chaincode.go


0
投票

链代码的日志位于各自的容器中。因此,对于org的peer0上版本mycc上名为1.0的链代码,我运行:

docker logs -f dev-peer0.org.example.com-mycc-1.0

看看任何fmt.Print*s的输出。

如果有人不熟悉,您可以使用docker ps查看容器,并在安装链代码并在新的链代码上运行instantiate或在现有密码运行upgrade后创建链代码容器(这会创建一个新容器,因此容器中的版本上面的名字)。

© www.soinside.com 2019 - 2024. All rights reserved.