3 unstable releases
| 0.2.1 | Jun 17, 2025 |
|---|---|
| 0.2.0 | Feb 24, 2025 |
| 0.1.0 | Feb 17, 2025 |
#1049 in Debugging
158 downloads per month
27KB
607 lines
emit_web
Use emit in WebAssembly applications targeting NodeJS and the browser.
emit itself and some emitters, like emit_otlp support WebAssembly directly. This library includes support for emitting events to the Console API. It also has alternative clocks and randomness using different web features. These aren't required for configuration, but can be used to more directly control the JavaScript APIs emit makes use of.
emit_web also supports the wasm32v1-none target.
Getting started
First, add emit and emit_web to your Cargo.toml:
[dependencies.emit]
version = "1"
features = ["std", "implicit_rt"]
[dependencies.emit_web]
version = "0.2.1"
Next, configure emit to use web APIs in its runtime:
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn setup() {
let _ = emit::setup()
.emit_to(emit_web::console())
.try_init();
}
The name of this setup function doesn't matter, you'll just need to call it somewhere early in your application.
Output
emit_web will output events to the Console API, where they'll appear in browser dev tools.

Dependencies
~5MB
~55K SLoC