#internet-computer #canister #logging #dfinity #smart-contracts #circular-buffer

ic-canister-log

为在互联网计算机上运行的智能合约提供日志记录库

2 个不稳定版本

0.2.0 2023年7月4日
0.1.0 2023年5月10日

#38#circular-buffer

Download history 2968/week @ 2024-03-14 2998/week @ 2024-03-21 2612/week @ 2024-03-28 3312/week @ 2024-04-04 2644/week @ 2024-04-11 3288/week @ 2024-04-18 2711/week @ 2024-04-25 3028/week @ 2024-05-02 2941/week @ 2024-05-09 3094/week @ 2024-05-16 3543/week @ 2024-05-23 4245/week @ 2024-05-30 3666/week @ 2024-06-06 3771/week @ 2024-06-13 3347/week @ 2024-06-20 2765/week @ 2024-06-27

14,208 每月下载量
ic-canister-serve 中使用

Apache-2.0

9KB
130

IC Canister Log

本包为在互联网计算机(也称为 互联网计算机,简称 canisters)上运行的智能合约提供了一个基本的日志记录库。

用法

declare_log_bufferlog 是核心库接口。宏 declare_log_buffer 创建一个具有指定容量的消息循环缓冲区。宏 log 格式化并将消息追加到缓冲区。

您可以使用 export 函数从日志缓冲区中提取消息。

use ic_canister_log::{declare_log_buffer, export, log};

// Keep up to 100 last messages.
declare_log_buffer!(name = LOG, capacity = 100);

fn sum_and_log(x: u64, y: u64) -> u64 {
   let result = x.saturating_add(y);
   log!(LOG, "{} + {} = {}", x, y, result);
   result
}

fn print_log_entries() {
  for entry in export(&LOG) {
    println!("{}:{} {}", entry.file, entry.line, entry.message);
  }
}

依赖项

~0.4–1MB
~22K SLoC