21 releases
0.11.0-alpha.21 | Oct 21, 2024 |
---|---|
0.11.0-alpha.20 | Oct 20, 2024 |
0.11.0-alpha.17 | Sep 20, 2024 |
0.11.0-alpha.13 | Aug 29, 2024 |
0.11.0-alpha.6 | Jun 28, 2024 |
#831 in Debugging
694 downloads per month
Used in emit_traceparent
2.5MB
6.5K
SLoC
emit_term
Emit diagnostic events to the console.
This library implements a text-based format that's intended for direct end-user consumption, such as in interactive applications.
lib.rs
:
Emit diagnostic events to the console.
This library implements a text-based format that's intended for direct end-user consumption, such as in interactive applications.
Getting started
Add emit
and emit_term
to your Cargo.toml
:
[dependencies.emit]
version = "0.11.0-alpha.21"
[dependencies.emit_term]
version = "0.11.0-alpha.21"
Initialize emit
using emit_term
:
fn main() {
let rt = emit::setup()
.emit_to(emit_term::stdout())
.init();
// Your app code goes here
rt.blocking_flush(std::time::Duration::from_secs(30));
}
emit_term
uses a format optimized for human legibility, not for machine processing. You may also want to emit diagnostics to another location, such as OTLP through emit_otlp
or a rolling file through emit_file
for processing. You can use emit::Setup::and_emit_to
to combine multiple emitters:
fn main() {
let rt = emit::setup()
.emit_to(emit_term::stdout())
.and_emit_to(some_other_emitter())
.init();
// Your app code goes here
rt.blocking_flush(std::time::Duration::from_secs(30));
}
Configuration
emit_term
has a fixed format, but can be configured to force or disable color output instead of detect it.
To disable colors, call Stdout::colored
with the value false
:
fn main() {
let rt = emit::setup()
// Disable colors
.emit_to(emit_term::stdout().colored(false))
.init();
// Your app code goes here
rt.blocking_flush(std::time::Duration::from_secs(5));
}
To force colors, call Stdout::colored
with the value true
:
fn main() {
let rt = emit::setup()
// Force colors
.emit_to(emit_term::stdout().colored(true))
.init();
// Your app code goes here
rt.blocking_flush(std::time::Duration::from_secs(5));
}
Dependencies
~2.2–9.5MB
~99K SLoC