Hyperledger Fabric Node.js开发中如何使用日志-程序员宅基地

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,错误。
  • debug,调试。

默认情况下,infowarnerror条目将发送到控制台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开发中如何使用日志

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/rejames/article/details/94673134

智能推荐

队列 c语言实现-程序员宅基地

文章浏览阅读3.9k次。1.导言栈和队列是两种常见的线性表,栈因为只能在表的一端进行插入和删除,这种结构决定了栈后进先出的特性,队列也是一种受限的线性表,队列只能在表的一端进行插入,在表的另一端进行删除。允许插入的一端叫做队尾(rear),允许删除的一端被称之为队头(front)。这种结构决定了队列具有先进先出(FIFO)的特性.对队列来说,在我们日常生活中,随处可见。去食堂排队打饭,最早排队的人,最先拿着饭菜离开,

深度学习系列之各激活函数对比_请编写各类激活函数对比程序的训练集-程序员宅基地

文章浏览阅读731次。sigmoid函数使用sigmoid作为激活函数存在如下两个问题:1)梯度饱和。当函数激活值接近于0或者1时,函数的梯度接近于0。在反向传播计算梯度过程中:δ(l)=(W(l))Tδ(l+1)∗f′(z(L)),每层残差接近于0,计算出的梯度也不可避免地接近于0。这样在参数微调过程中,会引起参数弥散问题,传到前几层的梯度已经非常靠近0了,参数几乎不会再更新。而且为了防止饱和,对于权重矩阵的_请编写各类激活函数对比程序的训练集

( 保证能看懂系列)SVM系列(二)soft-margin SVM 详细原理以及一点点的kernel SVM_svm soft margin使用p次方-程序员宅基地

文章浏览阅读1.2k次。本篇继续针soft-margin 软间隔SVM原理进行梳理,需要先对hard-margin SVM 有所掌握,具体见SVM系列(一)hard-margin SVM 详细原理 https://blog.csdn.net/Lee_Yu_Rui/article/details/107420870soft-margin SVM 思想感谢https://www.youtube.com/watch?v=ZF2QR7nSUhg&list=PLOxMGJ_8X74Z1N3OcacUaCxiXaGNHtFw._svm soft margin使用p次方

Google V8 编程入门(一) - V8对象概览_google v8 介绍-程序员宅基地

文章浏览阅读2.7k次。1, v8的类结构 图一: 句柄,用于垃圾对象回收图二:原始类型图三:对象类型图四:模板类型图五:总的类图_google v8 介绍

verilog 自动售货机状态机实现_答辩-基于Verilog HDL的自动售货机的设计.ppt-程序员宅基地

文章浏览阅读589次。基于Verilog HDL语言的自动售货机的设计 PPT模板下载:/moban/ 行业PPT模板:/hangye/ 节日PPT模板:/jieri/ PPT素材下载:/sucai/ PPT背景图片:/beijing/ PPT图表下载:/tubiao/ 优秀PPT下载:/xiazai/ PPT教程: /powerpoint/ ..._自动售货机控制电路verilog设计ppt

医学图像了解_医学影像 rescale_slope-程序员宅基地

文章浏览阅读3.3k次。医学图像了解医学图像了解医学图像医学图像是反映解剖区域内部结构或内部功能的图像,它是由一组图像元素——像素(2D)或立体像素(3D)组成的。医学图像是由采样或重建产生的离散性图像表征,它能将数值映射到不同的空间位置上。像素的数量是用来描述某一成像设备下的医学成像的,同时也是描述解剖及其功能细节的一种表达方式。像素所表达的具体数值是由成像设备、成像协议、影像重建以及后期加工所决定的医..._医学影像 rescale_slope

随便推点

Android 使用 GSON解析json成Bean_android gson jsonarray转bean列表-程序员宅基地

文章浏览阅读277次。解析 jsonObjectJSONObject data = jsonObject.getJSONObject("data");Gson gson = new Gson();Type type = new TypeToken<Bean>(){}.getType();Bean bean = gson.fromJson(String.valueOf(data), type);..._android gson jsonarray转bean列表

神经网络之传递函数(sigmoid ,双S)_非对称双s函数-程序员宅基地

文章浏览阅读5.8k次,点赞5次,收藏7次。1.S函数(sigmoid)f(x)=11+e−xf(x)=\frac{1}{1+e^{-x}}f(x)=1+e−x1​2.双S函数f(x)=1−e−x1+e−xf(x)=\frac{1-e^{-x}}{1+e^{-x}}f(x)=1+e−x1−e−x​_非对称双s函数

Error creating bean with name ‘org.springframework.web.servlet.mvc.method.annotation.RequestMapping_because the return value of "org.springframework.w-程序员宅基地

文章浏览阅读213次。Error creating bean with name ‘org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping’:多半是RequestMapping写错,或者json依赖没搞对_because the return value of "org.springframework.web.servlet.mvc.method.requ

什么是Vite:现代和超快速项目工具指南---下一代前端工具-程序员宅基地

文章浏览阅读3.1k次。Vite 是一款用于脚手架和捆绑项目的现代、超快速工具,由于近乎即时的代码编译和快速的热模块更换,它迅速变得流行起来。在本文中,您将了解Vite是什么以及如何使用它来构建新项目,等等。今天创建新项目的方式与我们多年前创建项目的方式大不相同。过去,通常的方法是创建一个文件夹,然后从创建一堆HTML,CSS和JS文件开始。使用FTP客户端手动部署项目,文件按原样上传,无需任何处理和优化,如缩小或压缩。多年来,事情发生了变化,因为现在我们有很多令人惊叹的工具,如Babel和webpack,使我们作为开发人员的生活

Python 如何将字符串转为字典(转载)_python 把一个字符串 字典-程序员宅基地

文章浏览阅读5.7k次。http://funhacks.net/2016/04/24/python_%E5%B0%86%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%BD%AC%E4%B8%BA%E5%AD%97%E5%85%B8/引言在工作中遇到一个小问题,需要将一个python的字符串转为字典,比如字符串: 1 user_inf..._python 把一个字符串 字典

Essential C++学习笔记系列-第一章-程序员宅基地

文章浏览阅读345次。第一章 c++编程基础1:> 资源定向符 文件输入流 文件输出流 对象为文件 ofstream>"asd";2:switch 没有break 则满足条件的case后面的代码均会执行3:初始化赋值初始化,构造函数初始化4:指针提领(空指针不能提领)取值_essential c++学习笔记