Skip to content

Instantly share code, notes, and snippets.

@tyhdefu
Last active February 26, 2023 10:25
Show Gist options
  • Save tyhdefu/a4c5b0c558f5bf6aff7c88eba150f103 to your computer and use it in GitHub Desktop.
Save tyhdefu/a4c5b0c558f5bf6aff7c88eba150f103 to your computer and use it in GitHub Desktop.
let timer = tracing_subscriber::fmt::time::OffsetTime::new(
UtcOffset::current_local_offset().unwrap_or_else(|err| {
eprintln!("Failed to get timezone: {}", err);
UtcOffset::UTC
}),
time::macros::format_description!("[year]-[month]-[day] [hour]:[minute]:[second] +[offset_hour]")
);
let (non_blocking, guard) = tracing_appender::non_blocking(std::io::stdout());
let env_filter = read_env_filter()
.unwrap_or_else(|err| {
eprintln!("Failed to read env filter, using environment variable or default: {}", err);
EnvFilter::builder()
.with_default_directive(Level::DEBUG.into())
.from_env_lossy()
});
println!("Env Filter: {}", env_filter);
let (layer, handle) = reload::Layer::new(env_filter);
let subscriber = tracing_subscriber::fmt()
.with_timer(timer)
.with_writer(non_blocking)
.finish();
let layered = subscriber.with(layer);
tracing::subscriber::set_global_default(layered)
.map_err(|err| format!("failed to initialize logger: {}", err))?;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment