From ff1d8cabcd3d26bf215b6d381c9d453cf8bb6b4d Mon Sep 17 00:00:00 2001 From: amos rothberg Date: Thu, 11 Jul 2024 15:16:15 +0300 Subject: [PATCH] chore: switched to tracing crate --- Cargo.lock | 213 +++++++++++------- Cargo.toml | 4 +- crates/committer/Cargo.toml | 2 +- .../committer/src/block_committer/commit.rs | 2 +- .../original_skeleton_tree/create_tree.rs | 2 +- crates/committer_cli/Cargo.toml | 4 +- crates/committer_cli/src/lib.rs | 1 + crates/committer_cli/src/main.rs | 11 +- .../committer_cli/src/tests/python_tests.rs | 10 +- crates/committer_cli/src/tracing_utils.rs | 10 + 10 files changed, 153 insertions(+), 106 deletions(-) create mode 100644 crates/committer_cli/src/tracing_utils.rs diff --git a/Cargo.lock b/Cargo.lock index 48478384..b641853e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -552,7 +552,6 @@ dependencies = [ "derive_more", "ethnum", "hex", - "log", "pretty_assertions", "rand", "rstest", @@ -563,6 +562,7 @@ dependencies = [ "strum_macros 0.26.2", "thiserror", "tokio", + "tracing", ] [[package]] @@ -576,19 +576,19 @@ dependencies = [ "ethnum", "hex", "indexmap 2.2.6", - "log", "pretty_assertions", "rand", "rand_distr", "serde", "serde_json", - "simplelog", "starknet-types-core", "starknet_api", "strum 0.26.2", "strum_macros 0.26.2", "thiserror", "tokio", + "tracing", + "tracing-subscriber", ] [[package]] @@ -709,15 +709,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - [[package]] name = "derivative" version = "2.2.0" @@ -1188,7 +1179,7 @@ dependencies = [ "petgraph", "pico-args", "regex", - "regex-syntax", + "regex-syntax 0.8.3", "string_cache", "term", "tiny-keccak", @@ -1202,7 +1193,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" dependencies = [ - "regex-automata", + "regex-automata 0.4.6", ] [[package]] @@ -1271,6 +1262,15 @@ version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "matrixmultiply" version = "0.2.4" @@ -1335,6 +1335,16 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + [[package]] name = "num-bigint" version = "0.4.5" @@ -1356,12 +1366,6 @@ dependencies = [ "num-traits 0.2.19", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-integer" version = "0.1.46" @@ -1400,15 +1404,6 @@ dependencies = [ "libc", ] -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - [[package]] name = "object" version = "0.32.2" @@ -1430,6 +1425,12 @@ version = "11.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "parity-scale-codec" version = "3.6.12" @@ -1575,12 +1576,6 @@ dependencies = [ "plotters-backend", ] -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1751,8 +1746,17 @@ checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-automata", - "regex-syntax", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", ] [[package]] @@ -1763,9 +1767,15 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.3", ] +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.8.3" @@ -1986,23 +1996,21 @@ dependencies = [ ] [[package]] -name = "signal-hook-registry" -version = "1.4.1" +name = "sharded-slab" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ - "libc", + "lazy_static", ] [[package]] -name = "simplelog" -version = "0.12.2" +name = "signal-hook-registry" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ - "log", - "termcolor", - "time", + "libc", ] [[package]] @@ -2284,15 +2292,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - [[package]] name = "thiserror" version = "1.0.61" @@ -2314,36 +2313,13 @@ dependencies = [ ] [[package]] -name = "time" -version = "0.3.36" +name = "thread_local" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ - "deranged", - "itoa", - "libc", - "num-conv", - "num_threads", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", + "cfg-if", + "once_cell", ] [[package]] @@ -2412,6 +2388,67 @@ dependencies = [ "winnow", ] +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.59", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + [[package]] name = "typenum" version = "1.17.0" @@ -2454,6 +2491,12 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "version_check" version = "0.9.4" diff --git a/Cargo.toml b/Cargo.toml index 424370a7..d2ec4eb7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,20 +21,20 @@ derive_more = "0.99.17" ethnum = "1.5.0" hex = "0.4" indexmap = "2.2.6" -log = "0.4" pretty_assertions = "1.2.1" rand = "0.8.5" rand_distr = "0.4.3" rstest = "0.17.0" serde = { version = "1.0.197", features = ["derive"] } serde_json = "1.0.116" -simplelog = "0.12.2" starknet-types-core = { version = "0.1.5", features = ["hash"] } starknet_api = "0.13.0-rc.0" strum = " 0.26.2" strum_macros = "0.26.2" thiserror = "1.0.58" tokio = { version = "1", features = ["full"] } +tracing = "0.1.40" +tracing-subscriber = "0.3.18" [workspace.lints.rust] future-incompatible = "deny" diff --git a/crates/committer/Cargo.toml b/crates/committer/Cargo.toml index 09f46dd9..068f3212 100644 --- a/crates/committer/Cargo.toml +++ b/crates/committer/Cargo.toml @@ -23,7 +23,6 @@ bisection.workspace = true derive_more.workspace = true ethnum.workspace = true hex.workspace = true -log.workspace = true rand.workspace = true serde.workspace = true serde_json.workspace = true @@ -32,6 +31,7 @@ strum.workspace = true strum_macros.workspace = true thiserror.workspace = true tokio.workspace = true +tracing.workspace = true # Optional dependencies required for tests and the testing feature. # See [here](https://github.com/bnjbvr/cargo-machete/issues/128). diff --git a/crates/committer/src/block_committer/commit.rs b/crates/committer/src/block_committer/commit.rs index a3d2cec8..14ab9b07 100644 --- a/crates/committer/src/block_committer/commit.rs +++ b/crates/committer/src/block_committer/commit.rs @@ -1,5 +1,5 @@ -use log::warn; use std::collections::HashMap; +use tracing::warn; use crate::block_committer::errors::BlockCommitmentError; use crate::block_committer::input::Config; diff --git a/crates/committer/src/patricia_merkle_tree/original_skeleton_tree/create_tree.rs b/crates/committer/src/patricia_merkle_tree/original_skeleton_tree/create_tree.rs index 183c5363..788278fa 100644 --- a/crates/committer/src/patricia_merkle_tree/original_skeleton_tree/create_tree.rs +++ b/crates/committer/src/patricia_merkle_tree/original_skeleton_tree/create_tree.rs @@ -19,10 +19,10 @@ use crate::storage::storage_trait::create_db_key; use crate::storage::storage_trait::Storage; use crate::storage::storage_trait::StorageKey; use crate::storage::storage_trait::StoragePrefix; -use log::warn; use std::borrow::Borrow; use std::collections::HashMap; use std::fmt::Debug; +use tracing::warn; #[cfg(test)] #[path = "create_tree_test.rs"] diff --git a/crates/committer_cli/Cargo.toml b/crates/committer_cli/Cargo.toml index 7cfa6757..59d33dfb 100644 --- a/crates/committer_cli/Cargo.toml +++ b/crates/committer_cli/Cargo.toml @@ -20,18 +20,18 @@ derive_more.workspace = true ethnum.workspace = true hex.workspace = true indexmap.workspace = true -log.workspace = true rand.workspace = true rand_distr.workspace = true serde.workspace = true serde_json.workspace = true -simplelog.workspace = true starknet-types-core.workspace = true starknet_api.workspace = true strum.workspace = true strum_macros.workspace = true thiserror.workspace = true tokio.workspace = true +tracing-subscriber = { workspace = true, features = ["env-filter"] } +tracing.workspace = true [[bench]] harness = false diff --git a/crates/committer_cli/src/lib.rs b/crates/committer_cli/src/lib.rs index f7a4598a..7f8bb26a 100644 --- a/crates/committer_cli/src/lib.rs +++ b/crates/committer_cli/src/lib.rs @@ -3,3 +3,4 @@ pub mod commands; pub mod filled_tree_output; pub mod parse_input; pub mod tests; +pub mod tracing_utils; diff --git a/crates/committer_cli/src/main.rs b/crates/committer_cli/src/main.rs index 76cf222f..1e14b82b 100644 --- a/crates/committer_cli/src/main.rs +++ b/crates/committer_cli/src/main.rs @@ -3,7 +3,7 @@ use committer_cli::block_hash::{BlockCommitmentsInput, BlockHashInput}; use committer_cli::commands::parse_and_commit; use committer_cli::parse_input::read::{load_from_stdin, read_from_stdin, write_to_file}; use committer_cli::tests::python_tests::PythonTest; -use simplelog::{ColorChoice, Config, LevelFilter, TermLogger, TerminalMode}; +use committer_cli::tracing_utils::configure_tracing; use starknet_api::block_hash::block_hash_calculator::{ calculate_block_commitments, calculate_block_hash, }; @@ -58,14 +58,7 @@ struct GlobalOptions {} /// Main entry point of the committer CLI. async fn main() { // Initialize the logger - if let Err(error) = TermLogger::init( - LevelFilter::Info, // Set the logging level - Config::default(), // Use the default log format - TerminalMode::Mixed, // Use mixed mode to log to both stdout and stderr - ColorChoice::Auto, // Automatically choose whether to use colored output - ) { - eprintln!("Failed to initialize the logger: {:?}", error); - } + configure_tracing(); let args = CommitterCliArgs::parse(); diff --git a/crates/committer_cli/src/tests/python_tests.rs b/crates/committer_cli/src/tests/python_tests.rs index 8ba13419..a6cf4404 100644 --- a/crates/committer_cli/src/tests/python_tests.rs +++ b/crates/committer_cli/src/tests/python_tests.rs @@ -17,7 +17,7 @@ use committer::patricia_merkle_tree::node_data::inner_node::{ }; use committer::patricia_merkle_tree::node_data::leaf::ContractState; use committer::patricia_merkle_tree::types::SubTreeHeight; -use log::error; +use tracing::{debug, error, info, warn}; use committer::patricia_merkle_tree::external_test_utils::single_tree_flow_test; use committer::patricia_merkle_tree::updated_skeleton_tree::hash_function::TreeHashFunctionImpl; @@ -199,10 +199,10 @@ impl PythonTest { Ok("Done!".to_owned()) } Self::LogError => { - log::error!("This is an error log message."); - log::warn!("This is a warn log message."); - log::info!("This is an info log message."); - log::debug!("This is a debug log message."); + error!("This is an error log message."); + warn!("This is a warn log message."); + info!("This is an info log message."); + debug!("This is a debug log message."); panic!("This is a panic message."); } } diff --git a/crates/committer_cli/src/tracing_utils.rs b/crates/committer_cli/src/tracing_utils.rs new file mode 100644 index 00000000..ce7f795c --- /dev/null +++ b/crates/committer_cli/src/tracing_utils.rs @@ -0,0 +1,10 @@ +use tracing_subscriber::fmt; + +pub fn configure_tracing() { + fmt() + .with_ansi(false) + .with_target(false) + .with_file(true) + .with_line_number(true) + .init(); +}