如何在Hyperledger Fabric链代码中查看java日志?

时间:2016-10-05 07:58:52

标签: java hyperledger hyperledger-fabric

我正在尝试使用Fabric whith java shim,我仍在搜索如何在对等输出上显示日志?

我试过了:

peer node start --logging-level DEBUG

还搜索使用父类的记录器:

private static Log logger = LogFactory.getLog(ChaincodeBase.class);

没有成功。无法看到同伴的输出

有没有人有想法?

4 个答案:

答案 0 :(得分:0)

我发现自己是解决方案。它意味着访问对等体内的Docker镜像并调用:

docker logs mycontainersidwhatever

但是我认为因为我处于DEBUG模式时可能仍然有问题,我现在只看到链码的WARN级别

答案 1 :(得分:0)

实例化新的链码时,对等方将创建一个名为dev-(peer name)-(contract name)-(contract version)的新docker容器。您可以直接在此容器中看到日志。

但是,结构java链代码使用其自己的日志记录配置,并且使用名为CORE_CHAINCODE_LOGGING_LEVEL的环境变量来定义链代码将使用的日志记录级别。通常,此环境变量设置为“信息”级别。您可以在运行合同的docker容器内手动更新此变量的值,也可以在对等方中定义此变量,以便每个合同将为其定义的值。

答案 2 :(得分:0)

在“ fabric-samples \ first-network \ base \ peer-base.yaml”中,确保在启动HLF网络然后启动网络之前具有以下条件。

FABRIC_LOGGING_SPEC=DEBUG

这将在调试模式下生成日志。现在,为了查看这些在docker contaner中生成的日志,我们必须向docker请求日志,并且可以在终端窗口中使用它来完成。

docker logs -f <<container-name>>

答案 3 :(得分:0)

使用

docker 记录容器名称

或者在你的 docker_compose.yaml 中,设置日志环境

FABRIC_LOGGING_SPEC=调试

否则,

尝试在你的 cli 中设置一次使用

导出