#substreams #thegraph #firehose #pinax #streamingfast #api-bindings

substreams-sink-winston

Substreams Winston 日志记录器下沉模块

3 个版本

0.1.2 2023 年 2 月 20 日
0.1.1 2023 年 2 月 19 日
0.1.0 2023 年 2 月 18 日

#4 in #pinax

Download history 3/week @ 2024-04-05

每月 63 次下载

MIT/Apache

31KB
408

Substreams Winston Logger 下沉模块

github crates.io docs.rs GitHub Workflow Status

substreams-sink-winston 是一个工具,允许开发者将区块链中提取的指标数据流入符合 RFC5424 规定的严重级别排序的标准 Winston 日志消息。

📖 文档

https://docs.rs/substreams-sink-winston

其他资源

  • Substreams GoogleSheet 下沉模块
  • Substreams CSV 下沉模块
  • Substreams Telegram 下沉模块
  • Substreams Discord 下沉模块

🛠 功能路线图

创建 Logger

  • 服务
  • defaultMeta

日志记录

  • 紧急:系统不可用
  • 警报:必须立即采取行动
  • 关键:关键条件
  • 错误:错误条件
  • 警告:警告条件
  • 通知:正常但重要的条件
  • 信息:信息性消息
  • 调试:调试级别消息

过滤信息对象

  • ignorePrivate
  • 私人

安装

$ cargo add substreams-sink-winston

快速入门

Cargo.toml

[dependencies]
substreams = "0.5"
substreams-sink-winston = "0.1"

src/lib.rs

use substreams::errors::Error;
use substreams_sink_winston::{Logger, LoggerOperations};

#[substreams::handlers::map]
fn prom_out(
    ... some stores ...
) -> Result<LoggerOperations, Error> {
    // Initialize Winston Logger operations container
    let mut log_ops: LoggerOperations = Default::default();

    // Create Logger
    // ==============
    let mut logger = Logger::from("user-service");

    // Informational: informational messages
    log_ops.push(logger.info("info message"));

    // Error: error conditions
    log_ops.push(logger.error("error message"));

    // Include Metadata
    let meta = Meta::from(vec!(["key", "value"]));
    log_ops.push(logger.info("message").with(meta));

    Ok(log_ops)
}

依赖项

~2.5MB
~52K SLoC