use extism::*; static LOGS: std::sync::Mutex> = std::sync::Mutex::new(Vec::new()); fn handle_logs(msg: &str) { LOGS.lock().unwrap().push(msg.to_string()) } fn main() { set_log_callback(handle_logs, "extism=trace").unwrap(); let url = Wasm::file("../wasm/code.wasm"); let manifest = Manifest::new([url]); let mut plugin = PluginBuilder::new(manifest) .with_wasi(true) .build() .unwrap(); for _ in 0..5 { let res = plugin .call::<&str, &str>("count_vowels", "Hello, world!") .unwrap(); tracing::info!("{}", res); } println!("Dumping logs"); for line in LOGS.lock().unwrap().iter() { print!("{}", line); } }