From c6fe050d30df0847ead55ddf023cdc5f2db8dee0 Mon Sep 17 00:00:00 2001 From: tison Date: Mon, 27 Jan 2025 14:20:37 +0800 Subject: [PATCH] chore: try use logforth (#5573) Signed-off-by: tison --- bin/oay/Cargo.lock | 203 ++++++------------ bin/oay/Cargo.toml | 4 +- bin/oay/src/bin/oay.rs | 8 +- bin/oay/src/bin/webdav.rs | 8 +- bin/oay/src/services/s3/service.rs | 3 +- bin/ofs/Cargo.lock | 77 +++++-- bin/ofs/Cargo.toml | 8 +- bin/ofs/src/main.rs | 2 +- bin/ofs/tests/common/mod.rs | 2 +- core/Cargo.lock | 72 ++++++- core/benches/vs_fs/Cargo.toml | 1 - core/benches/vs_s3/Cargo.toml | 6 +- core/benches/vs_s3/src/main.rs | 6 +- core/fuzz/Cargo.toml | 11 +- core/fuzz/fuzz_reader.rs | 6 +- core/fuzz/fuzz_writer.rs | 9 +- dev/Cargo.lock | 77 +++++-- dev/Cargo.toml | 2 +- dev/src/main.rs | 2 +- integrations/cloud_filter/Cargo.toml | 4 +- .../cloud_filter/examples/readonly.rs | 2 +- .../cloud_filter/tests/behavior/main.rs | 2 +- 22 files changed, 271 insertions(+), 244 deletions(-) diff --git a/bin/oay/Cargo.lock b/bin/oay/Cargo.lock index 209ed77ef672..0640d8698137 100644 --- a/bin/oay/Cargo.lock +++ b/bin/oay/Cargo.lock @@ -329,6 +329,16 @@ dependencies = [ "syn", ] +[[package]] +name = "env_filter" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" +dependencies = [ + "log", + "regex", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -820,6 +830,35 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +[[package]] +name = "jiff" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a85348106ab244d90fe2d70faad939b71c5dad1258e5da9116e176064fc6c078" +dependencies = [ + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2cec2f5d266af45a071ece48b1fb89f3b00b2421ac3a5fe10285a6caaa60d3" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a63c62e404e7b92979d2792352d885a7f8f83fd1d0d31eea582d77b2ceca697e" +dependencies = [ + "jiff-tzdb", +] + [[package]] name = "js-sys" version = "0.3.76" @@ -865,21 +904,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] -name = "lru" -version = "0.12.5" +name = "logforth" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +checksum = "4a891ee49bd03c4af719b4872b2279d68112d7fa764f10e5ec89cdb674324c41" dependencies = [ - "hashbrown", + "anyhow", + "env_filter", + "jiff", + "log", ] [[package]] -name = "matchers" -version = "0.1.0" +name = "lru" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "regex-automata 0.1.10", + "hashbrown", ] [[package]] @@ -940,16 +982,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[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-conv" version = "0.1.0" @@ -975,14 +1007,14 @@ dependencies = [ "dav-server", "dav-server-opendalfs", "futures-util", + "log", + "logforth", "opendal", "quick-xml", "serde", "tokio", "toml", "tower 0.4.13", - "tracing", - "tracing-subscriber", ] [[package]] @@ -1025,12 +1057,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "parking_lot" version = "0.12.3" @@ -1092,6 +1118,21 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "portable-atomic" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -1234,17 +1275,8 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[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", + "regex-automata", + "regex-syntax", ] [[package]] @@ -1255,15 +1287,9 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] -[[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.5" @@ -1477,15 +1503,6 @@ dependencies = [ "digest", ] -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - [[package]] name = "shlex" version = "1.3.0" @@ -1586,16 +1603,6 @@ dependencies = [ "syn", ] -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - [[package]] name = "time" version = "0.3.37" @@ -1787,21 +1794,9 @@ checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", - "tracing-attributes", "tracing-core", ] -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "tracing-core" version = "0.1.33" @@ -1809,36 +1804,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 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.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", ] [[package]] @@ -1904,12 +1869,6 @@ dependencies = [ "serde", ] -[[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.5" @@ -2040,28 +1999,6 @@ dependencies = [ "rustls-pki-types", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "windows-core" version = "0.52.0" diff --git a/bin/oay/Cargo.toml b/bin/oay/Cargo.toml index f476aeef4d69..555e0bc5cc04 100644 --- a/bin/oay/Cargo.toml +++ b/bin/oay/Cargo.toml @@ -46,6 +46,8 @@ chrono = "0.4.31" dav-server = { version = "0.7", optional = true } dav-server-opendalfs = { version = "0.3.0", path = "../../integrations/dav-server", optional = true } futures-util = { version = "0.3.29", optional = true } +log = { version = "0.4.22" } +logforth = { version = "0.21.0", default-features = false } opendal = { version = "0.51.0", path = "../../core", features = [ "services-fs", ] } @@ -59,5 +61,3 @@ tokio = { version = "1.39", features = [ ] } toml = "0.8.12" tower = { version = "0.4", features = ["util"] } -tracing = "0.1" -tracing-subscriber = { version = "0.3", features = ["env-filter"] } diff --git a/bin/oay/src/bin/oay.rs b/bin/oay/src/bin/oay.rs index 594622f74207..d137d0600173 100644 --- a/bin/oay/src/bin/oay.rs +++ b/bin/oay/src/bin/oay.rs @@ -26,9 +26,6 @@ use oay::Config; use opendal::services::Fs; use opendal::Operator; use opendal::Scheme; -use tracing_subscriber::fmt; -use tracing_subscriber::prelude::*; -use tracing_subscriber::EnvFilter; #[tokio::main] async fn main() -> Result<()> { @@ -37,10 +34,7 @@ async fn main() -> Result<()> { } async fn s3() -> Result<()> { - tracing_subscriber::registry() - .with(fmt::layer().pretty()) - .with(EnvFilter::from_default_env()) - .init(); + logforth::stderr().apply(); let cfg: Config = toml::from_str(&std::fs::read_to_string("oay.toml").context("failed to open oay.toml")?)?; diff --git a/bin/oay/src/bin/webdav.rs b/bin/oay/src/bin/webdav.rs index 8c1dfe4e3262..74353070f8fa 100644 --- a/bin/oay/src/bin/webdav.rs +++ b/bin/oay/src/bin/webdav.rs @@ -22,16 +22,10 @@ use oay::services::WebdavService; use oay::Config; use opendal::services::Fs; use opendal::Operator; -use tracing_subscriber::fmt; -use tracing_subscriber::prelude::*; -use tracing_subscriber::EnvFilter; #[tokio::main] async fn main() -> Result<()> { - tracing_subscriber::registry() - .with(fmt::layer().pretty()) - .with(EnvFilter::from_default_env()) - .init(); + logforth::stderr().apply(); let cfg: Config = Config { backend: oay::BackendConfig { diff --git a/bin/oay/src/services/s3/service.rs b/bin/oay/src/services/s3/service.rs index db40cafb7f8f..0c40777af3c5 100644 --- a/bin/oay/src/services/s3/service.rs +++ b/bin/oay/src/services/s3/service.rs @@ -29,7 +29,6 @@ use futures_util::StreamExt; use opendal::Operator; use serde::Deserialize; use serde::Serialize; -use tracing::debug; use crate::Config; @@ -81,7 +80,7 @@ async fn handle_list_objects( state: State, params: Query, ) -> Result { - debug!("got params: {:?}", params); + log::debug!("got params: {:?}", params); if !state.op.info().full_capability().list_with_start_after { return Err(ErrorResponse { diff --git a/bin/ofs/Cargo.lock b/bin/ofs/Cargo.lock index 4d719088cd15..4d15f0c74f7b 100644 --- a/bin/ofs/Cargo.lock +++ b/bin/ofs/Cargo.lock @@ -449,19 +449,6 @@ dependencies = [ "regex", ] -[[package]] -name = "env_logger" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" -dependencies = [ - "anstream", - "anstyle", - "env_filter", - "humantime", - "log", -] - [[package]] name = "errno" version = "0.3.10" @@ -751,12 +738,6 @@ version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "1.5.2" @@ -993,6 +974,35 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +[[package]] +name = "jiff" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a85348106ab244d90fe2d70faad939b71c5dad1258e5da9116e176064fc6c078" +dependencies = [ + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2cec2f5d266af45a071ece48b1fb89f3b00b2421ac3a5fe10285a6caaa60d3" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a63c62e404e7b92979d2792352d885a7f8f83fd1d0d31eea582d77b2ceca697e" +dependencies = [ + "jiff-tzdb", +] + [[package]] name = "js-sys" version = "0.3.76" @@ -1033,6 +1043,18 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "logforth" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a891ee49bd03c4af719b4872b2279d68112d7fa764f10e5ec89cdb674324c41" +dependencies = [ + "anyhow", + "env_filter", + "jiff", + "log", +] + [[package]] name = "md-5" version = "0.10.6" @@ -1139,11 +1161,11 @@ dependencies = [ "clap", "cloud-filter", "cloud_filter_opendal", - "env_logger", "fuse3", "fuse3_opendal", "libc", "log", + "logforth", "nix", "opendal", "tempfile", @@ -1223,6 +1245,21 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "portable-atomic" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + [[package]] name = "powerfmt" version = "0.2.0" diff --git a/bin/ofs/Cargo.toml b/bin/ofs/Cargo.toml index c3dd99b850e5..4ca7924a53c2 100644 --- a/bin/ofs/Cargo.toml +++ b/bin/ofs/Cargo.toml @@ -30,10 +30,10 @@ repository = "https://github.com/apache/opendal" rust-version = "1.75" [dependencies] -anyhow = "1" +anyhow = { version = "1" } clap = { version = "4.5.21", features = ["derive", "env"] } -env_logger = "0.11.2" -log = "0.4.21" +log = { version = "0.4.22" } +logforth = { version = "0.21.0", default-features = false } opendal = { version = "0.51.0", path = "../../core" } tokio = { version = "1.37.0", features = [ "fs", @@ -42,7 +42,7 @@ tokio = { version = "1.37.0", features = [ "io-std", "signal", ] } -url = "2.5.0" +url = { version = "2.5.4" } [target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "macos"))'.dependencies] fuse3 = { version = "0.8.1", "features" = ["tokio-runtime", "unprivileged"] } diff --git a/bin/ofs/src/main.rs b/bin/ofs/src/main.rs index ce0b563fe00f..9555fc225e77 100644 --- a/bin/ofs/src/main.rs +++ b/bin/ofs/src/main.rs @@ -38,7 +38,7 @@ struct Config { async fn main() -> Result<()> { let cfg = Config::parse(); - env_logger::init(); + logforth::stderr().apply(); execute(cfg).await } diff --git a/bin/ofs/tests/common/mod.rs b/bin/ofs/tests/common/mod.rs index 2fbfcc10fd10..a12c8a983b1a 100644 --- a/bin/ofs/tests/common/mod.rs +++ b/bin/ofs/tests/common/mod.rs @@ -44,7 +44,7 @@ impl TestContext for OfsTestContext { .expect("no test services has been configured"); let capability = backend.info().full_capability(); - INIT_LOGGER.get_or_init(env_logger::init); + INIT_LOGGER.get_or_init(|| logforth::stderr().apply()); let mount_point = tempfile::tempdir().unwrap(); let mount_point_str = mount_point.path().to_string_lossy().to_string(); diff --git a/core/Cargo.lock b/core/Cargo.lock index dacd86958436..c593abffd480 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -2652,6 +2652,16 @@ dependencies = [ "syn 2.0.95", ] +[[package]] +name = "env_filter" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" +dependencies = [ + "log", + "regex", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -4142,6 +4152,35 @@ dependencies = [ "glob", ] +[[package]] +name = "jiff" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a85348106ab244d90fe2d70faad939b71c5dad1258e5da9116e176064fc6c078" +dependencies = [ + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2cec2f5d266af45a071ece48b1fb89f3b00b2421ac3a5fe10285a6caaa60d3" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a63c62e404e7b92979d2792352d885a7f8f83fd1d0d31eea582d77b2ceca697e" +dependencies = [ + "jiff-tzdb", +] + [[package]] name = "jobserver" version = "0.1.32" @@ -4402,6 +4441,18 @@ dependencies = [ "value-bag", ] +[[package]] +name = "logforth" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a891ee49bd03c4af719b4872b2279d68112d7fa764f10e5ec89cdb674324c41" +dependencies = [ + "anyhow", + "env_filter", + "jiff", + "log", +] + [[package]] name = "loom" version = "0.5.6" @@ -5167,7 +5218,6 @@ dependencies = [ "criterion", "opendal", "rand 0.8.5", - "tokio", "uuid", ] @@ -5180,11 +5230,10 @@ dependencies = [ "aws-sdk-s3", "criterion", "dotenvy", + "logforth", "opendal", "rand 0.8.5", "tokio", - "tracing-subscriber", - "uuid", ] [[package]] @@ -5218,15 +5267,11 @@ dependencies = [ name = "opendal-fuzz" version = "0.0.0" dependencies = [ - "anyhow", "arbitrary", - "bytes", - "dotenvy", "libfuzzer-sys", + "log", + "logforth", "opendal", - "tokio", - "tracing", - "tracing-subscriber", "uuid", ] @@ -5917,6 +5962,15 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + [[package]] name = "powerfmt" version = "0.2.0" diff --git a/core/benches/vs_fs/Cargo.toml b/core/benches/vs_fs/Cargo.toml index 89ebab6df509..2c8a75b604ed 100644 --- a/core/benches/vs_fs/Cargo.toml +++ b/core/benches/vs_fs/Cargo.toml @@ -28,5 +28,4 @@ version = "0.0.0" criterion = { version = "0.5", features = ["async", "async_tokio"] } opendal = { path = "../..", features = ["tests"] } rand = "0.8" -tokio = { version = "1", features = ["full"] } uuid = { version = "1", features = ["v4"] } diff --git a/core/benches/vs_s3/Cargo.toml b/core/benches/vs_s3/Cargo.toml index de072134b65e..0e73332da94e 100644 --- a/core/benches/vs_s3/Cargo.toml +++ b/core/benches/vs_s3/Cargo.toml @@ -32,11 +32,7 @@ aws-credential-types = { version = "1.0.1", features = [ aws-sdk-s3 = "1.4.0" criterion = { version = "0.5", features = ["async", "async_tokio"] } dotenvy = "0.15" +logforth = { version = "0.21.0", default-features = false } opendal = { path = "../..", features = ["tests"] } rand = "0.8" tokio = { version = "1", features = ["full"] } -tracing-subscriber = { version = "0.3", features = [ - "env-filter", - "tracing-log", -] } -uuid = { version = "1", features = ["v4"] } diff --git a/core/benches/vs_s3/src/main.rs b/core/benches/vs_s3/src/main.rs index 324b2bbad98c..0cd717f306bd 100644 --- a/core/benches/vs_s3/src/main.rs +++ b/core/benches/vs_s3/src/main.rs @@ -29,11 +29,7 @@ use tokio::io::AsyncReadExt; fn main() { let _ = dotenvy::dotenv(); - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + let _ = logforth::stderr().try_apply(); let endpoint = env::var("OPENDAL_S3_ENDPOINT").unwrap(); let access_key = env::var("OPENDAL_S3_ACCESS_KEY_ID").unwrap(); diff --git a/core/fuzz/Cargo.toml b/core/fuzz/Cargo.toml index 9b181df897c2..e2b8173e6f32 100644 --- a/core/fuzz/Cargo.toml +++ b/core/fuzz/Cargo.toml @@ -78,18 +78,11 @@ services-webdav = ["opendal/services-webdav"] services-webhdfs = ["opendal/services-webhdfs"] [dependencies] -anyhow = "1.0.71" arbitrary = { version = "1.3.0", features = ["derive"] } -bytes = "1.2" -dotenvy = "0.15.6" libfuzzer-sys = "0.4" opendal = { path = "..", features = ["tests"] } -tokio = { version = "1", features = ["full"] } -tracing = "0.1" -tracing-subscriber = { version = "0.3", features = [ - "env-filter", - "tracing-log", -] } +log = { version = "0.4.22" } +logforth = { version = "0.21.0", default-features = false } uuid = { version = "1", features = ["v4"] } [[bin]] diff --git a/core/fuzz/fuzz_reader.rs b/core/fuzz/fuzz_reader.rs index 3b713bb24c63..048ec919ce7b 100644 --- a/core/fuzz/fuzz_reader.rs +++ b/core/fuzz/fuzz_reader.rs @@ -89,11 +89,7 @@ async fn fuzz_reader(op: Operator, input: FuzzInput) -> Result<()> { } fuzz_target!(|input: FuzzInput| { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + let _ = logforth::stderr().try_apply(); let op = init_test_service().expect("operator init must succeed"); if let Some(op) = op { diff --git a/core/fuzz/fuzz_writer.rs b/core/fuzz/fuzz_writer.rs index cfd2c50bb005..8a7e8a05bd4e 100644 --- a/core/fuzz/fuzz_writer.rs +++ b/core/fuzz/fuzz_writer.rs @@ -26,7 +26,6 @@ use opendal::raw::tests::WriteChecker; use opendal::raw::tests::TEST_RUNTIME; use opendal::Operator; use opendal::Result; -use tracing::warn; const MAX_DATA_SIZE: usize = 16 * 1024 * 1024; @@ -106,16 +105,12 @@ async fn fuzz_writer(op: Operator, input: FuzzInput) -> Result<()> { } fuzz_target!(|input: FuzzInput| { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + let _ = logforth::stderr().try_apply(); let op = init_test_service().expect("operator init must succeed"); if let Some(op) = op { if !op.info().full_capability().write_can_multi { - warn!("service doesn't support write multi, skip fuzzing"); + log::warn!("service doesn't support write multi, skip fuzzing"); return; } diff --git a/dev/Cargo.lock b/dev/Cargo.lock index 350142ba8707..71a8d12cb12d 100644 --- a/dev/Cargo.lock +++ b/dev/Cargo.lock @@ -128,43 +128,65 @@ dependencies = [ "regex", ] -[[package]] -name = "env_logger" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" -dependencies = [ - "anstream", - "anstyle", - "env_filter", - "humantime", - "log", -] - [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "is_terminal_polyfill" version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +[[package]] +name = "jiff" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a85348106ab244d90fe2d70faad939b71c5dad1258e5da9116e176064fc6c078" +dependencies = [ + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", + "windows-sys", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2cec2f5d266af45a071ece48b1fb89f3b00b2421ac3a5fe10285a6caaa60d3" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a63c62e404e7b92979d2792352d885a7f8f83fd1d0d31eea582d77b2ceca697e" +dependencies = [ + "jiff-tzdb", +] + [[package]] name = "log" version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "logforth" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a891ee49bd03c4af719b4872b2279d68112d7fa764f10e5ec89cdb674324c41" +dependencies = [ + "anyhow", + "env_filter", + "jiff", + "log", +] + [[package]] name = "markdown" version = "1.0.0-alpha.21" @@ -195,9 +217,9 @@ version = "0.0.1" dependencies = [ "anyhow", "clap", - "env_logger", "heck", "log", + "logforth", "markdown", "minijinja", "pretty_assertions", @@ -205,6 +227,21 @@ dependencies = [ "syn", ] +[[package]] +name = "portable-atomic" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + [[package]] name = "pretty_assertions" version = "1.4.1" diff --git a/dev/Cargo.toml b/dev/Cargo.toml index 6c7c3026dda9..a1b478b37cd6 100644 --- a/dev/Cargo.toml +++ b/dev/Cargo.toml @@ -30,8 +30,8 @@ version = "0.0.1" [dependencies] anyhow = { version = "1.0.95" } clap = { version = "4.5.23", features = ["derive"] } -env_logger = { version = "0.11.5" } log = { version = "0.4.22" } +logforth = { version = "0.21.0", default-features = false } heck = { version = "0.5.0" } markdown = { version = "1.0.0-alpha.21" } minijinja = { version = "2.5.0" } diff --git a/dev/src/main.rs b/dev/src/main.rs index 1858e89b1f8e..d80d11d80b00 100644 --- a/dev/src/main.rs +++ b/dev/src/main.rs @@ -48,7 +48,7 @@ enum Commands { } fn main() -> Result<()> { - env_logger::init(); + logforth::stderr().apply(); match Cmd::parse().command { Commands::Generate { language } => generate::run(&language), diff --git a/integrations/cloud_filter/Cargo.toml b/integrations/cloud_filter/Cargo.toml index 504e18ed5d2a..6a15011c9d86 100644 --- a/integrations/cloud_filter/Cargo.toml +++ b/integrations/cloud_filter/Cargo.toml @@ -39,8 +39,8 @@ opendal = { version = "0.51.0", path = "../../core" } serde = { version = "1.0.203", features = ["derive"] } [dev-dependencies] -env_logger = "0.11.2" -libtest-mimic = "0.7.3" +libtest-mimic = { version = "0.8.1" } +logforth = { version = "0.21.0", default-features = false } opendal = { version = "0.51.0", path = "../../core", features = [ "services-fs", "tests", diff --git a/integrations/cloud_filter/examples/readonly.rs b/integrations/cloud_filter/examples/readonly.rs index 56bcbc5d12d6..9e5956c3ca2f 100644 --- a/integrations/cloud_filter/examples/readonly.rs +++ b/integrations/cloud_filter/examples/readonly.rs @@ -11,7 +11,7 @@ const DISPLAY_NAME: &str = "Read Only Cloud Filter"; #[tokio::main] async fn main() { - env_logger::init(); + logforth::stderr().apply(); let root = env::var("ROOT").expect("$ROOT is set"); let client_path = env::var("CLIENT_PATH").expect("$CLIENT_PATH is set"); diff --git a/integrations/cloud_filter/tests/behavior/main.rs b/integrations/cloud_filter/tests/behavior/main.rs index 8f73d9b2678d..771ffa01a0b9 100644 --- a/integrations/cloud_filter/tests/behavior/main.rs +++ b/integrations/cloud_filter/tests/behavior/main.rs @@ -49,7 +49,7 @@ type Callback = Pin>>; async fn main() -> ExitCode { let args = Arguments::from_args(); - env_logger::init(); + logforth::stderr().apply(); let Ok(Some(op)) = tests::init_test_service() else { return ExitCode::SUCCESS;