Crates.io | emit |
lib.rs | emit |
version | 0.11.0-alpha.21 |
source | src |
created_at | 2015-08-08 09:03:14.543574 |
updated_at | 2024-10-21 03:41:45.868945 |
description | Structured diagnostics for Rust applications. |
homepage | |
repository | https://github.com/emit-rs/emit |
max_upload_size | |
id | 2786 |
size | 2,955,389 |
emit
is a framework for adding diagnostics to your Rust applications with a simple, powerful data model and an expressive syntax inspired by Message Templates. emit
's guiding design principle is low ceremony, low cognitive-load.
This readme covers just enough to give you an idea of what emit
is. For a proper treatment, see:
Add emit
to your Cargo.toml
:
[dependencies.emit]
version = "0.11.0-alpha.21"
[dependencies.emit_term]
version = "0.11.0-alpha.21"
Initialize emit
in your main.rs
and start peppering diagnostics throughout your application:
fn main() {
// Configure `emit` to write events to the console
let rt = emit::setup()
.emit_to(emit_term::stdout())
.init();
// Your app code goes here
//
// Try uncommenting the following line as an example:
//
// greet("Rust");
// Flush any remaining events before `main` returns
rt.blocking_flush(std::time::Duration::from_secs(5));
}
#[emit::span("Greet {user}")]
fn greet(user: &str) {
emit::info!("Hello, {user}!");
}