use tracing::level_filters::LevelFilter;
use tracing::subscriber::set_global_default;
use tracing_print::Print;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::Layer;
use tracing_subscriber::Registry;
use yansi::Paint;
#[derive(Debug, Default)]
struct Dummy {
_field: (),
}
fn main() {
let layer = tracing_subscriber::fmt::layer()
.event_format(Print::default())
.with_filter(LevelFilter::TRACE);
let registry = Registry::default().with(layer);
set_global_default(registry).unwrap();
tracing::error!("error");
tracing::warn!("warn");
tracing::info!("info");
tracing::debug!("debug");
tracing::trace!("trace");
tracing::info!("");
tracing::info!(key = "unseen", "only message will be seen");
tracing::info!(
"newlines and formatting work\nsee? display={}, debug={:#?}",
1337,
Dummy::default()
);
tracing::info!(
"{} {} {}",
"extra".bold(),
"ansi".underline(),
"formatting".italic()
);
tracing::error!("{}", "applies before level".strike())
}