我正在尝试使用java shim的Fabric,我仍在搜索如何在对等输出上显示日志?
我试过了:
peer node start --logging-level DEBUG
也在搜索使用父类的日志记录器:
private static Log logger = LogFactory.getLog(ChaincodeBase.class);
没有成功。无法看到对等端
的输出谁有什么主意?
我自己找到了解决办法。它意味着访问对等体内部的Docker映像并调用:
docker logs mycontainersidwhatever
但我认为这可能仍然是错误的,因为我在调试模式,我现在看到只有警告级别的链码
当你实例化一个新的链码时,对等端将创建一个新的docker容器dev-(peer name)-(contract name)-(contract version)
。您可以直接在此容器中查看日志。
然而,fabric java chaincode使用自己的日志配置,它使用一个名为CORE_CHAINCODE_LOGGING_LEVEL
的环境变量来定义chaincode将使用的日志级别。通常,这个环境变量被设置为"info"级别。你可以在运行合约的docker容器中手动更新这个变量的值,或者你可以在peer中定义这个变量,这样每个合约都会将定义的值赋给它。
In 'fabric-samplesfirst-networkbasepeer-base。在启动HLF网络之前,请确保您拥有以下内容,然后启动网络。
FABRIC_LOGGING_SPEC=DEBUG
这将在DEBUG模式下生成日志。现在,为了查看docker容器中生成的日志,我们必须向docker请求日志,这可以在终端窗口中使用。
docker logs -f <<container-name>>
使用
docker logs container_name
或在docker_compose中。设置日志环境
FABRIC_LOGGING_SPEC =调试
或者
尝试在cli中设置一次,使用
出口