This is an automated email from the ASF dual-hosted git repository. tison pushed a commit to branch reduce-tracing in repository https://gitbox.apache.org/repos/asf/opendal.git
commit e0552a4d08ada9b36345659b5f71f86a6149d8e6 Author: tison <[email protected]> AuthorDate: Tue Jan 13 13:40:34 2026 +0800 chore: reduce tracing deps Signed-off-by: tison <[email protected]> --- core/Cargo.lock | 11 +++--- core/Cargo.toml | 8 ++-- core/benches/vs_s3/Cargo.toml | 2 +- core/core/Cargo.toml | 5 +-- core/core/src/types/context/write.rs | 45 ++++++++-------------- .../Cargo.toml | 2 +- .../src/main.rs | 23 ++++++----- core/fuzz/Cargo.toml | 2 +- core/layers/immutable-index/Cargo.toml | 5 +-- core/layers/immutable-index/src/lib.rs | 23 ++++++++--- core/layers/retry/Cargo.toml | 5 +-- core/layers/retry/src/lib.rs | 33 +++++++++------- core/services/s3/Cargo.toml | 1 - core/services/s3/src/backend.rs | 2 - core/tests/behavior/main.rs | 14 ++++--- 15 files changed, 87 insertions(+), 94 deletions(-) diff --git a/core/Cargo.lock b/core/Cargo.lock index 7e6f78bcf..bd9e70adf 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -2784,9 +2784,9 @@ dependencies = [ name = "edge_test_aws_s3_assume_role_with_web_identity" version = "0.55.0" dependencies = [ + "logforth", "opendal", "tokio", - "tracing-subscriber", "uuid", ] @@ -5886,6 +5886,7 @@ dependencies = [ "http 1.4.0", "libtest-mimic", "log", + "logforth", "opendal-core", "opendal-layer-async-backtrace", "opendal-layer-await-tree", @@ -5979,7 +5980,6 @@ dependencies = [ "sha2", "size", "tokio", - "tracing-subscriber", "uuid", ] @@ -6021,6 +6021,7 @@ dependencies = [ "http-body 1.0.1", "jiff", "log", + "logforth", "md-5", "mea 0.6.0", "moka", @@ -6033,7 +6034,6 @@ dependencies = [ "serde_json", "sha2", "tokio", - "tracing-subscriber", "url", "uuid", "web-time", @@ -6181,9 +6181,9 @@ version = "0.55.0" dependencies = [ "futures", "log", + "logforth", "opendal-core", "tokio", - "tracing-subscriber", ] [[package]] @@ -6269,11 +6269,11 @@ dependencies = [ "bytes", "futures", "log", + "logforth", "opendal-core", "opendal-layer-logging", "opendal-layer-timeout", "tokio", - "tracing-subscriber", ] [[package]] @@ -6971,7 +6971,6 @@ dependencies = [ "serde", "serde_json", "tokio", - "tracing-subscriber", ] [[package]] diff --git a/core/Cargo.toml b/core/Cargo.toml index 57bdccf5b..9dbbc0c7a 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -46,7 +46,8 @@ bytes = "1.10" ctor = "0.6" futures = { version = "0.3", default-features = false } http = "1.1" -log = "0.4" +log = { version = "0.4.29" } +logforth = { version = "0.29.1", features = ["starter-log"] } mea = "0.6" quick-xml = { version = "0.38", default-features = false } rand = "0.8" @@ -306,13 +307,10 @@ futures = { workspace = true, default-features = true } http = { workspace = true } libtest-mimic = "0.8" log = { workspace = true } +logforth = { workspace = true } rand = { workspace = true } reqwest = "0.12.24" sha2 = { workspace = true } size = "0.5" tokio = { workspace = true, features = ["fs", "macros", "rt-multi-thread"] } -tracing-subscriber = { version = "0.3", features = [ - "env-filter", - "tracing-log", -] } uuid = { workspace = true, features = ["serde", "v4"] } diff --git a/core/benches/vs_s3/Cargo.toml b/core/benches/vs_s3/Cargo.toml index 1912d005c..e83857794 100644 --- a/core/benches/vs_s3/Cargo.toml +++ b/core/benches/vs_s3/Cargo.toml @@ -32,7 +32,7 @@ aws-credential-types = { version = "1.2.8", features = [ aws-sdk-s3 = "1.91.0" criterion = { version = "0.7", features = ["async", "async_tokio"] } dotenvy = "0.15" -logforth = { version = "0.29.1", features = ["starter-log"] } +logforth = { workspace = true } opendal = { path = "../..", features = ["tests"] } rand = { workspace = true } tokio = { workspace = true, features = ["full"] } diff --git a/core/core/Cargo.toml b/core/core/Cargo.toml index f16a45efb..c97c8eea2 100644 --- a/core/core/Cargo.toml +++ b/core/core/Cargo.toml @@ -94,11 +94,8 @@ uuid = { workspace = true, features = ["serde", "v4", "js"] } web-time = { version = "1.1.0" } [dev-dependencies] +logforth = { workspace = true } pretty_assertions = "1" rand = { workspace = true } sha2 = { workspace = true } tokio = { workspace = true, features = ["fs", "macros", "rt-multi-thread"] } -tracing-subscriber = { version = "0.3", features = [ - "env-filter", - "tracing-log", -] } diff --git a/core/core/src/types/context/write.rs b/core/core/src/types/context/write.rs index 11a8551dd..a880f3872 100644 --- a/core/core/src/types/context/write.rs +++ b/core/core/src/types/context/write.rs @@ -248,13 +248,18 @@ mod tests { } } + fn setup() { + let _ = logforth::starter_log::builder() + .dispatch(|d| { + d.filter(EnvFilterBuilder::from_default_env().build()) + .append(Testing::default().with_layout(TextLayout::default())) + }) + .try_apply(); + } + #[tokio::test] async fn test_exact_buf_writer_short_write() -> Result<()> { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + setup(); let mut rng = thread_rng(); let mut expected = vec![0; 5]; @@ -289,11 +294,7 @@ mod tests { #[tokio::test] async fn test_inexact_buf_writer_large_write() -> Result<()> { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + setup(); let buf = Arc::new(Mutex::new(vec![])); let mut w = WriteGenerator::new( @@ -327,11 +328,7 @@ mod tests { #[tokio::test] async fn test_inexact_buf_writer_combine_small() -> Result<()> { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + setup(); let buf = Arc::new(Mutex::new(vec![])); let mut w = WriteGenerator::new( @@ -377,11 +374,7 @@ mod tests { #[tokio::test] async fn test_inexact_buf_writer_queue_remaining() -> Result<()> { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + setup(); let buf = Arc::new(Mutex::new(vec![])); let mut w = WriteGenerator::new( @@ -429,11 +422,7 @@ mod tests { #[tokio::test] async fn test_fuzz_exact_buf_writer() -> Result<()> { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + setup(); let mut rng = thread_rng(); let mut expected = vec![]; @@ -482,11 +471,7 @@ mod tests { /// everything at once. #[tokio::test] async fn test_exact_buf_writer_large_buffer_splits_into_chunks() -> Result<()> { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); + setup(); let chunk_size = 10; let large_buffer_size = 25; // 2.5x chunk_size diff --git a/core/edge/s3_aws_assume_role_with_web_identity/Cargo.toml b/core/edge/s3_aws_assume_role_with_web_identity/Cargo.toml index a9f6a9702..d90a2520d 100644 --- a/core/edge/s3_aws_assume_role_with_web_identity/Cargo.toml +++ b/core/edge/s3_aws_assume_role_with_web_identity/Cargo.toml @@ -25,7 +25,7 @@ rust-version.workspace = true version.workspace = true [dependencies] +logforth = { workspace = true } opendal = { path = "../..", features = ["tests", "services-s3"] } tokio = { workspace = true, features = ["full"] } -tracing-subscriber = { version = "0.3.20", features = ["env-filter"] } uuid = { workspace = true, features = ["serde", "v4"] } diff --git a/core/edge/s3_aws_assume_role_with_web_identity/src/main.rs b/core/edge/s3_aws_assume_role_with_web_identity/src/main.rs index 0a0982583..d0c37b04f 100644 --- a/core/edge/s3_aws_assume_role_with_web_identity/src/main.rs +++ b/core/edge/s3_aws_assume_role_with_web_identity/src/main.rs @@ -15,18 +15,23 @@ // specific language governing permissions and limitations // under the License. -use opendal::Result; +use logforth::append::Testing; +use logforth::filter::env_filter::EnvFilterBuilder; +use logforth::layout::TextLayout; use opendal::tests::init_test_service; #[tokio::main] -async fn main() -> Result<()> { - let _ = tracing_subscriber::fmt() - .pretty() - .with_test_writer() - .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) - .try_init(); +async fn main() { + let _ = logforth::starter_log::builder() + .dispatch(|d| { + d.filter(EnvFilterBuilder::from_default_env().build()) + .append(Testing::default().with_layout(TextLayout::default())) + }) + .apply(); - let op = init_test_service()?.expect("service must be init"); + let op = init_test_service() + .unwrap_or_else(|err| panic!("failed to init test service: {:?}", err)) + .expect("service must be init"); assert_eq!(op.info().scheme(), opendal::services::S3_SCHEME); let result = op @@ -34,6 +39,4 @@ async fn main() -> Result<()> { .await .expect("this operation should never return error"); assert!(!result, "the file must be not exist"); - - Ok(()) } diff --git a/core/fuzz/Cargo.toml b/core/fuzz/Cargo.toml index fd353dcd8..46fdfddc0 100644 --- a/core/fuzz/Cargo.toml +++ b/core/fuzz/Cargo.toml @@ -83,7 +83,7 @@ services-webhdfs = ["opendal/services-webhdfs"] arbitrary = { version = "1.4.2", features = ["derive"] } libfuzzer-sys = "0.4" log = { workspace = true } -logforth = { version = "0.29.1", features = ["starter-log"] } +logforth = { workspace = true } opendal = { path = "..", features = ["tests"] } uuid = { workspace = true, features = ["v4"] } diff --git a/core/layers/immutable-index/Cargo.toml b/core/layers/immutable-index/Cargo.toml index c3067d369..5b359c3c7 100644 --- a/core/layers/immutable-index/Cargo.toml +++ b/core/layers/immutable-index/Cargo.toml @@ -36,9 +36,6 @@ opendal-core = { path = "../../core", version = "0.55.0", default-features = fal [dev-dependencies] futures = { workspace = true } log = { workspace = true } +logforth = { workspace = true } opendal-core = { path = "../../core", version = "0.55.0" } tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } -tracing-subscriber = { version = "0.3", features = [ - "env-filter", - "tracing-log", -] } diff --git a/core/layers/immutable-index/src/lib.rs b/core/layers/immutable-index/src/lib.rs index aae2df6fe..6b633b40f 100644 --- a/core/layers/immutable-index/src/lib.rs +++ b/core/layers/immutable-index/src/lib.rs @@ -228,10 +228,12 @@ mod tests { use std::collections::HashMap; use std::sync::Arc; + use super::*; use futures::TryStreamExt; use log::debug; - - use super::*; + use logforth::append::Testing; + use logforth::filter::env_filter::EnvFilterBuilder; + use logforth::layout::TextLayout; #[derive(Debug)] struct MockService; @@ -253,9 +255,18 @@ mod tests { Operator::from_inner(Arc::new(MockService)).layer(layer) } + fn setup() { + let _ = logforth::starter_log::builder() + .dispatch(|d| { + d.filter(EnvFilterBuilder::from_default_env().build()) + .append(Testing::default().with_layout(TextLayout::default())) + }) + .try_apply(); + } + #[tokio::test] async fn test_list() -> Result<()> { - let _ = tracing_subscriber::fmt().with_test_writer().try_init(); + setup(); let mut iil = ImmutableIndexLayer::default(); for i in ["file", "dir/", "dir/file", "dir_without_prefix/file"] { @@ -285,7 +296,7 @@ mod tests { #[tokio::test] async fn test_scan() -> Result<()> { - let _ = tracing_subscriber::fmt().with_test_writer().try_init(); + setup(); let mut iil = ImmutableIndexLayer::default(); for i in ["file", "dir/", "dir/file", "dir_without_prefix/file"] { @@ -317,7 +328,7 @@ mod tests { #[tokio::test] async fn test_list_dir() -> Result<()> { - let _ = tracing_subscriber::fmt().with_test_writer().try_init(); + setup(); let mut iil = ImmutableIndexLayer::default(); for i in [ @@ -367,7 +378,7 @@ mod tests { #[tokio::test] async fn test_walk_top_down_dir() -> Result<()> { - let _ = tracing_subscriber::fmt().with_test_writer().try_init(); + setup(); let mut iil = ImmutableIndexLayer::default(); for i in [ diff --git a/core/layers/retry/Cargo.toml b/core/layers/retry/Cargo.toml index dffaafade..dee0274ed 100644 --- a/core/layers/retry/Cargo.toml +++ b/core/layers/retry/Cargo.toml @@ -38,11 +38,8 @@ opendal-core = { path = "../../core", version = "0.55.0", default-features = fal [dev-dependencies] bytes = { workspace = true } futures = { workspace = true } +logforth = { workspace = true } opendal-core = { path = "../../core", version = "0.55.0" } opendal-layer-logging = { path = "../logging", version = "0.55.0" } opendal-layer-timeout = { path = "../timeout", version = "0.55.0" } tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } -tracing-subscriber = { version = "0.3", features = [ - "env-filter", - "tracing-log", -] } diff --git a/core/layers/retry/src/lib.rs b/core/layers/retry/src/lib.rs index 4ffeafc2f..edca6fb29 100644 --- a/core/layers/retry/src/lib.rs +++ b/core/layers/retry/src/lib.rs @@ -25,7 +25,6 @@ use std::sync::Arc; use backon::ExponentialBuilder; use backon::Retryable; -use log::warn; use opendal_core::raw::*; use opendal_core::*; @@ -255,10 +254,11 @@ pub struct DefaultRetryInterceptor; impl RetryInterceptor for DefaultRetryInterceptor { fn intercept(&self, err: &Error, dur: Duration) { - warn!( + log::warn!( target: "opendal::layers::retry", "will retry after {}s because: {}", - dur.as_secs_f64(), err) + dur.as_secs_f64(), err + ); } } @@ -613,8 +613,10 @@ mod tests { use bytes::Bytes; use futures::TryStreamExt; use futures::stream; + use logforth::append::Testing; + use logforth::filter::env_filter::EnvFilterBuilder; + use logforth::layout::TextLayout; use opendal_layer_logging::LoggingLayer; - use tracing_subscriber::filter::LevelFilter; use super::*; @@ -835,12 +837,18 @@ mod tests { } } + fn setup() { + let _ = logforth::starter_log::builder() + .dispatch(|d| { + d.filter(EnvFilterBuilder::from_default_env().build()) + .append(Testing::default().with_layout(TextLayout::default())) + }) + .try_apply(); + } + #[tokio::test] async fn test_retry_read() -> Result<()> { - let _ = tracing_subscriber::fmt() - .with_max_level(LevelFilter::TRACE) - .with_test_writer() - .try_init(); + setup(); let builder = MockBuilder::default(); let op = Operator::new(builder.clone())? @@ -864,10 +872,7 @@ mod tests { /// This test is used to reproduce the panic issue while composing retry layer with timeout layer. #[tokio::test] async fn test_retry_write_fail_on_close() -> Result<()> { - let _ = tracing_subscriber::fmt() - .with_max_level(LevelFilter::TRACE) - .with_test_writer() - .try_init(); + setup(); let builder = MockBuilder::default(); let op = Operator::new(builder.clone())? @@ -896,7 +901,7 @@ mod tests { #[tokio::test] async fn test_retry_list() -> Result<()> { - let _ = tracing_subscriber::fmt().with_test_writer().try_init(); + setup(); let builder = MockBuilder::default(); let op = Operator::new(builder.clone())? @@ -920,7 +925,7 @@ mod tests { #[tokio::test] async fn test_retry_batch() -> Result<()> { - let _ = tracing_subscriber::fmt().with_test_writer().try_init(); + setup(); let builder = MockBuilder::default(); // set to a lower delay to make it run faster diff --git a/core/services/s3/Cargo.toml b/core/services/s3/Cargo.toml index f13928ab1..87bae334a 100644 --- a/core/services/s3/Cargo.toml +++ b/core/services/s3/Cargo.toml @@ -52,4 +52,3 @@ serde = { workspace = true, features = ["derive"] } pretty_assertions = "1" serde_json = { workspace = true } tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } -tracing-subscriber = "0.3" diff --git a/core/services/s3/src/backend.rs b/core/services/s3/src/backend.rs index 99456d94d..d3ae6aa76 100644 --- a/core/services/s3/src/backend.rs +++ b/core/services/s3/src/backend.rs @@ -1146,8 +1146,6 @@ mod tests { #[test] fn test_build_endpoint() { - let _ = tracing_subscriber::fmt().with_test_writer().try_init(); - let endpoint_cases = vec