#log-messages #console #logging #log #log-level #web-sys

console_log

一个将 Rust 日志消息路由到浏览器控制台的日志工具

7 个版本 (1 个稳定版)

1.0.0 2023年3月10日
0.2.2 2023年3月10日
0.2.1 2023年2月25日
0.2.0 2020年4月21日
0.1.2 2019年1月1日

#4WebAssembly

Download history 46991/week @ 2024-04-09 59824/week @ 2024-04-16 58179/week @ 2024-04-23 53559/week @ 2024-04-30 50019/week @ 2024-05-07 64267/week @ 2024-05-14 64625/week @ 2024-05-21 86069/week @ 2024-05-28 82303/week @ 2024-06-04 71091/week @ 2024-06-11 60338/week @ 2024-06-18 62912/week @ 2024-06-25 52357/week @ 2024-07-02 77913/week @ 2024-07-09 102942/week @ 2024-07-16 79195/week @ 2024-07-23

每月下载量 320,044
用于 1,596 个包 (140 个直接使用)

MIT/Apache

29KB
111

console_log Crates.io

将消息路由到浏览器控制台的日志器。

用法

use log::Level;
fn main() {
    console_log::init_with_level(Level::Debug);

    info!("It works!");

    // ...
}

详细信息

Rust 的日志级别按照以下方式映射到浏览器控制台。

Rust Web 控制台
trace!() console.debug()
debug!() console.log()
info!() console.info()
warn!() console.warn()
error!() console.error()

颜色

"color" 功能为日志消息添加样式。

Cargo.toml

console_log = { version = "1", features = ["color"] }

样式化的日志消息将按照以下方式渲染

Styled log messages

代码大小

Twiggy 报告这个库在调试构建中将大约 180Kb 添加到最小 wasm 二进制文件的大小。如果您想避免这种情况,将库标记为可选,并在非发布构建中在您的代码中条件性地初始化它。

Cargo.toml

[dependencies]
cfg-if = "0.1"
log = "0.4"
console_log = { version = "1", optional = true }

[features]
default = ["console_log"]

lib.rs

use wasm_bindgen::prelude::*;
use cfg_if::cfg_if;

cfg_if! {
    if #[cfg(feature = "console_log")] {
        fn init_log() {
            use log::Level;
            console_log::init_with_level(Level::Trace).expect("error initializing log");
        }
    } else {
        fn init_log() {}
    }
}

#[wasm_bindgen]
pub fn main() {
    init_log();
    // ...
}

限制

与日志消息关联的文件和行号信息报告的是由 wasm-bindgen 生成的 shims 的位置,而不是日志调用位置。

许可证

该项目根据您的选择受以下任一许可证的约束

贡献

除非您明确声明,否则您提交给此项目的任何贡献,根据 Apache-2.0 许可证的定义,均应如上所述双许可,不附加任何其他条款或条件。

另请参阅

依赖项

约6.5–8.5MB
约169K SLoC