mirror of
https://github.com/matter-labs/teepot.git
synced 2025-07-21 07:03:56 +02:00
refactor(logging): enhance logging setup and usage
- Modified the `setup_logging` function to return a `Subscriber`, improving flexibility and reuse. - Integrated `tracing::subscriber::set_global_default` in the main functions to establish the logging subscriber globally. - Added configurations for span events and control over file and line information display. Signed-off-by: Harald Hoyer <harald@matterlabs.dev>
This commit is contained in:
parent
5b7f7482e6
commit
f0fea5c122
3 changed files with 25 additions and 10 deletions
|
@ -110,7 +110,10 @@ struct Arguments {
|
||||||
async fn main() -> Result<()> {
|
async fn main() -> Result<()> {
|
||||||
let args = Arguments::parse();
|
let args = Arguments::parse();
|
||||||
|
|
||||||
setup_logging(&args.log_level)?;
|
tracing::subscriber::set_global_default(setup_logging(
|
||||||
|
env!("CARGO_CRATE_NAME"),
|
||||||
|
&args.log_level,
|
||||||
|
)?)?;
|
||||||
|
|
||||||
info!("Quote verified! Connection secure!");
|
info!("Quote verified! Connection secure!");
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,11 @@ use zksync_basic_types::L1BatchNumber;
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() -> Result<()> {
|
async fn main() -> Result<()> {
|
||||||
let args = Arguments::parse();
|
let args = Arguments::parse();
|
||||||
setup_logging(&args.log_level)?;
|
tracing::subscriber::set_global_default(setup_logging(
|
||||||
|
env!("CARGO_CRATE_NAME"),
|
||||||
|
&args.log_level,
|
||||||
|
)?)?;
|
||||||
|
|
||||||
validate_arguments(&args)?;
|
validate_arguments(&args)?;
|
||||||
let (stop_sender, stop_receiver) = watch::channel(false);
|
let (stop_sender, stop_receiver) = watch::channel(false);
|
||||||
let mut process_handle = tokio::spawn(verify_batches_proofs(stop_receiver, args));
|
let mut process_handle = tokio::spawn(verify_batches_proofs(stop_receiver, args));
|
||||||
|
|
|
@ -5,9 +5,11 @@
|
||||||
|
|
||||||
use anyhow::Context;
|
use anyhow::Context;
|
||||||
use tracing::level_filters::LevelFilter;
|
use tracing::level_filters::LevelFilter;
|
||||||
|
use tracing::Subscriber;
|
||||||
use tracing_log::LogTracer;
|
use tracing_log::LogTracer;
|
||||||
|
use tracing_subscriber::fmt::format::FmtSpan;
|
||||||
use tracing_subscriber::Registry;
|
use tracing_subscriber::Registry;
|
||||||
use tracing_subscriber::{fmt, prelude::*, EnvFilter};
|
use tracing_subscriber::{prelude::*, EnvFilter};
|
||||||
|
|
||||||
/// A log level parser for clap, with "off", "error", "warn", "info", "debug", "trace" as valid values
|
/// A log level parser for clap, with "off", "error", "warn", "info", "debug", "trace" as valid values
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
@ -42,7 +44,10 @@ impl clap::builder::TypedValueParser for LogLevelParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Setup standard logging and loglevel for the current crate and the `teepot` crate.
|
/// Setup standard logging and loglevel for the current crate and the `teepot` crate.
|
||||||
pub fn setup_logging(log_level: &LevelFilter) -> anyhow::Result<()> {
|
pub fn setup_logging(
|
||||||
|
crate_name: &str,
|
||||||
|
log_level: &LevelFilter,
|
||||||
|
) -> anyhow::Result<impl Subscriber + Send + Sync + 'static> {
|
||||||
LogTracer::init().context("Failed to set logger")?;
|
LogTracer::init().context("Failed to set logger")?;
|
||||||
let filter = EnvFilter::builder()
|
let filter = EnvFilter::builder()
|
||||||
.try_from_env()
|
.try_from_env()
|
||||||
|
@ -50,14 +55,17 @@ pub fn setup_logging(log_level: &LevelFilter) -> anyhow::Result<()> {
|
||||||
LevelFilter::OFF => EnvFilter::new("off"),
|
LevelFilter::OFF => EnvFilter::new("off"),
|
||||||
_ => EnvFilter::new(format!(
|
_ => EnvFilter::new(format!(
|
||||||
"warn,{crate_name}={log_level},teepot={log_level}",
|
"warn,{crate_name}={log_level},teepot={log_level}",
|
||||||
crate_name = env!("CARGO_CRATE_NAME"),
|
|
||||||
log_level = log_level
|
log_level = log_level
|
||||||
)),
|
)),
|
||||||
});
|
});
|
||||||
let subscriber = Registry::default()
|
|
||||||
.with(filter)
|
|
||||||
.with(fmt::layer().with_writer(std::io::stderr));
|
|
||||||
tracing::subscriber::set_global_default(subscriber)?;
|
|
||||||
|
|
||||||
Ok(())
|
let fmt_layer = tracing_subscriber::fmt::layer()
|
||||||
|
.with_span_events(FmtSpan::NEW | FmtSpan::CLOSE)
|
||||||
|
.with_file(false)
|
||||||
|
.with_line_number(false)
|
||||||
|
.with_writer(std::io::stderr);
|
||||||
|
|
||||||
|
let subscriber = Registry::default().with(filter).with(fmt_layer);
|
||||||
|
|
||||||
|
Ok(subscriber)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue