#log #logging #wasi #wasm-component

无需std wasi-logger

基于WIT接口 wasi:logging/logging 的WASM组件的 log::Log 实现接口

3个版本

0.1.2 2024年5月22日
0.1.1 2024年5月16日
0.1.0 2024年4月21日

#311调试

Download history 145/week @ 2024-04-21 18/week @ 2024-04-28 8/week @ 2024-05-05 154/week @ 2024-05-12 196/week @ 2024-05-19 118/week @ 2024-05-26 127/week @ 2024-06-02 112/week @ 2024-06-09 141/week @ 2024-06-16 127/week @ 2024-06-23 200/week @ 2024-06-30 93/week @ 2024-07-07 192/week @ 2024-07-14 107/week @ 2024-07-21 75/week @ 2024-07-28

每月468次下载
用于 llama-core

MIT/Apache

14KB
141

CI Status MSRV Latest Version Rust Doc Crate Rust Doc Main

wasi-logger

wasi-logger 提供了一个实现 Logger 日志API的 Logger,该API基于 wasi:logging/logging WIT接口。

用法

要使用 Logger 作为日志记录器,首先需要使用 Logger::install 在顶级WASM组件中安装一次,例如在 main 函数、构造函数或使用 std::sync::OnceLock 中。记得也要使用 log::set_max_level 设置全局日志最大级别,以确保使用 log::log! 和其他方式创建的日志条目确实被记录。

#[macro_use]
extern crate log;

extern crate wasi_logger;

fn main() {
    wasi_logger::Logger::install().expect("failed to install wasi_logger::Logger");
    log::set_max_level(log::LevelFilter::Info);

    error!("Something went really wrong");
    info!("This is good to know");
    debug!("This message is not recorded as the trace level is currently disabled");
}

功能

  • 通过 kv 功能间接启用 log/kv 并在日志消息中包含日志记录中的键值对。

许可证

许可协议为以下之一

任选其一。

贡献

除非你明确声明,否则根据 Apache-2.0 许可证定义的,你有意提交以包含在作品中的任何贡献,应按上述方式双重许可,不附加任何额外条款或条件。

资金

wasi-logger 是作为欧洲模拟天气和气候卓越中心的第三阶段项目 ESiWACE3 的一部分开发的。

由欧盟资助。本工作已获得欧洲高性能计算联合企业(JU)根据协议编号 No 101093054 的资助。

依赖关系

约7.5MB
约132K SLoC