我想通过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
它看起来像fmt.Println输出。
但你可以用户
shim.NewLogger("YOUR_COMPONENT_NAME")
你可以找到一个shim logger的例子:
链代码的日志位于各自的容器中。因此,对于org的peer0上版本mycc
上名为1.0
的链代码,我运行:
docker logs -f dev-peer0.org.example.com-mycc-1.0
看看任何fmt.Print*
s的输出。
如果有人不熟悉,您可以使用docker ps
查看容器,并在安装链代码并在新的链代码上运行instantiate
或在现有密码运行upgrade
后创建链代码容器(这会创建一个新容器,因此容器中的版本上面的名字)。