wasi-logger
provides a Logger
implementing the log::Log
logging
API, which is backed by the wasi:logging/logging
WIT interface.
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");
}
kv
feature transitively enables log/kv
and includes the key-value
pairs in a log record in the log message.