前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HyperLedgerFabric日志系统改造(日志适配器)

HyperLedgerFabric日志系统改造(日志适配器)

原创
作者头像
追光者
修改2020-09-18 14:54:55
4310
修改2020-09-18 14:54:55
举报
文章被收录于专栏:fine's 笔记fine's 笔记

上篇文章从源码角度去修改代码从而实现日志持久化,本次将给基于x-appender这个项目实现fabric日志持久化改造,并且实现日志的分级输出持久化。

编译x-appender

代码语言:txt
复制
GOOS=linux GOARCH=amd64 go build

修改镜像

基于fabric-peer原生镜像再添加x-appender二进制文件即可,并修改CMD,具体Dockerfile如下:

代码语言:txt
复制
FROM hyperledger/fabric-peer:1.4.3
ADD x-appender /usr/bin/
CMD peer node start 2>&1|x-appender

使用镜像

镜像使用和官方稍有不同,如下几点:

  1. yaml文件中无需覆盖镜像的cmd
  2. 添加了了4个环境变量,用于控制x-appender的表现行为:
  • XAPPENDER_LOG_NAME_FORMAT 日志文件名格式,如:%Y-%m-%d
  • XAPPENDER_LOG_ROOT_PATH 日志持久化目录,如:/var/logs
  • XAPPENDER_LOG_MAX_AGE 日志最大保存时间,单位为天,如:30
  • XAPPENDER_LOG_ROTATION 日志切割时间,单位为小时,如:24

示例

peer.yaml,我已经将镜像上传至docker hub,如果你嫌麻烦,就无须制作镜像了。

代码语言:txt
复制
services:
  peer-00:
    image: tianrandailoving/fabric-peer-x-appender:1.4.3
    environment:
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      # the following setting starts chaincode containers on the same
      # bridge network as the peers
      # https://docs.docker.com/compose/networking/
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_byfn
      - FABRIC_LOGGING_SPEC=INFO
      #- FABRIC_LOGGING_SPEC=DEBUG
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_GOSSIP_USELEADERELECTION=true
      - CORE_PEER_GOSSIP_ORGLEADER=false
      - CORE_PEER_PROFILE_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
      - XAPPENDER_LOG_NAME_FORMAT=%Y-%m-%d
      - XAPPENDER_LOG_ROOT_PATH=/var/logs
      - XAPPENDER_LOG_MAX_AGE=30
      - XAPPENDER_LOG_ROTATION=24
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编译x-appender
  • 修改镜像
  • 使用镜像
  • 示例
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档