Hyperledger Fabric Node.js开发中如何使用日志?本教程就来演示下如何使用hyperledgefabric node.js客户端日志记录功能。
hyperledger fabric node.js客户端日志记录使用node.js winston
开发包。当node.js应用程序首次加载hyperledger结构包时,日志记录被初始化。所有HyperledgeFabric客户端对象都将使用相同的设置(peer、orderer、ChannelEventHub)。
const Client = require('fabric-client');
// the logging is now set
有四个级别的日志记录:
默认情况下,info
、warn
和error
条目将发送到控制台console
,不会记录debug
。
HyperledgeFabric客户端的日志记录由配置设置hfc-logging
和环境设置HFC_LOGGING
控制。
default.json
配置文件中的日志设置改为一个条目:"hfc-logging": "{'debug':'console', 'info':'console'}"
export HFC_LOGGING='{"debug":"console","info":"console"}'
日志记录可以使用文件来写入条目,方法是将文件位置指定为级别值。
export HFC_LOGGING='{"debug":"/temp/debug.log","info":"console"}'
当需要记录应用程序代码中的条目以及HyperledgeFabric客户端条目时,请使用以下内容访问同一个记录器。版本1.2后:
const logger = Client.getLogger('APPLICATION');
1.2之前:
const sdkUtils = require('fabric-client/lib/utils.js');
const logger = sdkUtils.getLogger('APPLICATION');
日志:
const log_info = 'Sometext';
logger.info('%s infotext', log_info);
// will log
// info: [APPLICATION]: Sometext infotext
logger.warn('%s warntext', log_info);
// will log
// warn: [APPLICATION]: Sometext warntext
logger.error('%s errortext', log_info);
// will log
// error: [APPLICATION]: Sometext errortext
logger.debug('%s debugtext', log_info);
// will log
// debug: [APPLICATION]: Sometext debugtext
======================================================================
如果你想学习区块链并在Blockchain Technologies建立职业生涯,那么请查看我们分享的一些以太坊、比特币、EOS、Fabric等区块链相关的交互式在线编程实战教程:
- java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
- python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
- php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
- 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
- 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
- ERC721以太坊通证实战,课程以一个数字艺术品创作与分享DApp的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含ERC-721标准的自主实现,讲解OpenZeppelin合约代码库二次开发,实战项目采用Truffle,IPFS,实现了通证以及去中心化的通证交易所。
- C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
- java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
- php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
- c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是C#工程师不可多得的比特币开发学习课程。
- EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
- 深入浅出玩转EOS钱包开发,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。
- Hyperledger Fabric 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。
- Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。
- tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。
汇智网原创翻译,转载请标明出处。这里是Hyperledger Fabric Node.js开发中如何使用日志
在map阶段读取数据前,FileInputFormat会将输入文件分割成split。split的个数决定了map的个数。影响map个数(split个数)的主要因素有: 1) 文件的大小。当块(dfs.block.size)为128m时,如果输入文件为128m,会被划分为1个split;当块为256m,会被划分为2个split。 2) 文件的个数。FileInputFormat按
本单元目标一、为什么要学习数据库1.持久化数据2.方便检索3.存储大量数据4.共享、安全5.通过组合分析,获取新的数据二、数据库的相关概念 DBMS、DB、SQLDB:database数据库,存储一系列有组织数据的容器DBMS:Database Management System数据库管理系统,使用DBMS管理和维护DBSQL:StructureQueryLanguage结构化查询语言,程序员用于和DBMS通信的语言三、数据库存储数据的特点1、数据先放在表中,表再放在库中2、
本文介绍了出现Target host is not specified问题的解决方式一.bug提示如下Caused by: org.apache.http.client.ClientProtocolException at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.ja...
IHT(iterative hard thresholding )算法是压缩感知中一种非常重要的贪婪算法,它具有算法简单的有点,且易于实现,在实际中应用较多。本文给出了IHT算法的python和matlab代码(本文给出的代码未经过优化,所以重建质量不是非常好),以及完整的仿真过程。 算法流程python代码要利用python实现,电脑必须安装以下程序python (本文用的python版本为3.
错误之前安装了MYSQL后,直接使用NavicatPremium工具操作数据库,一开始正常启动。后来为了和同学协同开发,就统一使用安装在云服务上的数据库(其实这个问题有更好的解决方案,不过这属于小系统,小练手,就没使用太多工具,好吧,我们偷懒了)。过后,课程需要,我再次启动本地MYSQL服务,就出现了如下情况: 解决过程 百度一搜索,解决方案五花百门。修改m
《手把手教你学DSP》一、初识DSP1.DSP的主要特点:(1)数字信号处理的特点数字信号处理把许多经典的理论体系作为自己的基础,同时又使自己成为许多新兴学科与技术的理论基础。数字信号处理的实现方法:[1]通过PC上编程实现;(缺点:实时性差,处理速度不够实时,不够快,信号采集和处理范围受通用计算器性能的限制,一般用于数字信号处理算法的模拟和仿真。)[2]用通用计算
一台恢复出厂设置后的迅捷(fast)无线路由器,要连接Internet上网,需要经过四个步骤进行设置,下面是学习啦小编给大家整理的一些有关迅捷(fast)路由器恢复出厂设置后重新设置方法,希望对大家有帮助!迅捷(fast)路由器恢复出厂设置后重新设置方法一、连接迅捷(fast)路由器1、宽带是电话线接入时请准备2根较短的网线,一根网线用来连接猫与迅捷(fast)路由器的WAN接口;另一根网线用来连...
从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做training,所以可以分享下我的经验,希望对你有用。因为是在工作中培训,就必然有两个约束:实用、时间紧,因此就不能像大学那样,把所有的知识点都面面俱到的讲到。而只能挑基础的,实用的,难理解的讲。至于其他边边角角的知识,就一笔带过。一则没有时间,二则不常用,再则既使讲了,学生印象也不深刻。总之一句话:“好钢用在刀刃上”...
运维开发网 https://www.qedev.com2020-05-09 16:23出处:网络一、 选出合理的分桶字段。 可以拿 (字段中重复值最多的记录数/表的总记录数) 的值作为是否可以作为分桶字段的依据。 ?查询字段中重复值最多的记录数: COL_COUNT=select column1,count(1)cnt from table_name group by column1 ...
相关示例Cesium 提供绘制Entity的API接口如下,详情参看[1][2]//api使用如下:添加一个点let option= { position: Cesium.Cartesian3.fromDegrees( this.defaultPoint[0], this.defaultPoint[1] ), ...
python通过字典dict判断指定键值是否存在的方法本文实例讲述了python通过字典dict判断指定键值是否存在的方法。分享给大家供大家参考。具体如下:python中有两种方法可以判断指定的键值是否存在,一种是通过字典对象的方法 has_key 判断,另外一种是通过 in 方法,下面是详细的范例。d={'site':'http://www.jb51.net','name':'jb51','is...
官方文档https://docs.microsoft.com/zh-cn/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?view=sql-server-2017Alwayson相对于数据库镜像最大的优势就是可读副本,带来可读副本的同时还添加了一个新的功能就是配置只读路由实现读写分离AlwaysOn技术集中了故障转移群集、数据库镜像和日志传送三者的优点