Crate wasi_logger

source ·
Expand description

CI Status MSRV Latest Version Rust Doc Crate Rust Doc Main

§wasi-logger

wasi-logger provides a Logger implementing the log::Log logging API, which is backed by the wasi:logging/logging WIT interface.

§Usage

To use the Logger as a logger, it first needs to be installed once in the top-level WASM component using Logger::install, e.g. in a main function, a ctor, or using a std::sync::OnceLock. Remember to also set the global logging max level using log::set_max_level to ensure that log entries created with log::log! and others are actually recorded.

#[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 with {x} / {y}", x=42, y=0);
    info!(target: "my-target", "This is good to know and has a custom target");
    debug!("This message is not recorded as the trace level is currently disabled");
}

§Features

  • The kv feature transitively enables log/kv and includes the key-value pairs in a log record in the log message.

Structs§