diff --git a/Cargo.lock b/Cargo.lock index 88402e2960f38..7683926a8cd0c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -16192,7 +16192,6 @@ dependencies = [ "backoff", "bp-runtime", "console", - "env_logger 0.11.3", "futures", "isahc", "jsonpath_lib", @@ -16201,6 +16200,7 @@ dependencies = [ "parking_lot 0.12.3", "serde_json", "sp-runtime", + "sp-tracing 16.0.0", "substrate-prometheus-endpoint", "sysinfo", "thiserror", diff --git a/bridges/relays/utils/Cargo.toml b/bridges/relays/utils/Cargo.toml index 2c3f37750486c..59d636fbe9b04 100644 --- a/bridges/relays/utils/Cargo.toml +++ b/bridges/relays/utils/Cargo.toml @@ -17,7 +17,7 @@ async-trait = { workspace = true } backoff = { workspace = true } console = { workspace = true } isahc = { workspace = true } -env_logger = { workspace = true } +sp-tracing = { workspace = true } futures = { workspace = true } jsonpath_lib = { workspace = true } log = { workspace = true } diff --git a/bridges/relays/utils/src/initialize.rs b/bridges/relays/utils/src/initialize.rs index cd0377caa3d6e..f4ed8daed8053 100644 --- a/bridges/relays/utils/src/initialize.rs +++ b/bridges/relays/utils/src/initialize.rs @@ -19,6 +19,11 @@ use console::style; use parking_lot::Mutex; use std::{cell::RefCell, fmt::Display, io::Write}; +use sp_tracing::tracing_subscriber; +use sp_tracing::tracing::Level; +use sp_tracing::tracing_subscriber::fmt::time::OffsetTime; +use sp_tracing::tracing_subscriber::fmt::SubscriberBuilder; +use sp_tracing::tracing_subscriber::EnvFilter; /// Relayer version that is provided as metric. Must be set by a binary /// (get it with `option_env!("CARGO_PKG_VERSION")` from a binary package code). @@ -41,42 +46,21 @@ pub fn initialize_logger(with_timestamp: bool) { ) .expect("static format string is valid"); - let mut builder = env_logger::Builder::new(); - builder.filter_level(log::LevelFilter::Warn); - builder.filter_module("bridge", log::LevelFilter::Info); - builder.parse_default_env(); - if with_timestamp { - builder.format(move |buf, record| { - let timestamp = time::OffsetDateTime::now_local() - .unwrap_or_else(|_| time::OffsetDateTime::now_utc()); - let timestamp = timestamp.format(&format).unwrap_or_else(|_| timestamp.to_string()); - - let log_level = color_level(record.level()); - let log_target = color_target(record.target()); - let timestamp = if cfg!(windows) { - Either::Left(timestamp) - } else { - Either::Right(style(timestamp).black().bright().bold().to_string()) - }; - - writeln!( - buf, - "{}{} {} {} {}", - loop_name_prefix(), - timestamp, - log_level, - log_target, - record.args(), - ) - }); - } else { - builder.format(move |buf, record| { - let log_level = color_level(record.level()); - let log_target = color_target(record.target()); + let local_time = OffsetTime::new( + time::UtcOffset::current_local_offset().unwrap_or(time::UtcOffset::UTC), + format, + ); - writeln!(buf, "{}{log_level} {log_target} {}", loop_name_prefix(), record.args(),) - }); - } + let builder = SubscriberBuilder::default() + .with_env_filter(EnvFilter::from_default_env()) + .with_filter(Level::WARN) + .with_filter_module("bridge", Level::INFO); + + let builder = if with_timestamp { + builder.with_timer(local_time) + } else { + builder.without_time() + }; builder.init(); }