From b007903616f7c2e2c66d3cec38c0db520ceb15fa Mon Sep 17 00:00:00 2001 From: "shiro.lee" Date: Tue, 6 Aug 2024 22:59:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8E=BB=E9=99=A4anyhow=E7=9A=84?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 8 +------- Cargo.toml | 10 ++++++++-- ecstore/Cargo.toml | 4 ++-- rustfs/Cargo.toml | 23 ++++++++++++++++------- rustfs/src/main.rs | 9 +++++++-- 5 files changed, 34 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5de2d546..83cda1ee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -86,12 +86,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - [[package]] name = "arrayvec" version = "0.7.4" @@ -1088,7 +1082,6 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" name = "rustfs" version = "0.1.0" dependencies = [ - "anyhow", "async-trait", "bytes", "clap", @@ -1101,6 +1094,7 @@ dependencies = [ "time", "tokio", "tracing", + "tracing-error", "tracing-subscriber", "transform-stream", ] diff --git a/Cargo.toml b/Cargo.toml index 1d81177a..8a7aae0f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,11 +12,17 @@ rust-version = "1.75" serde = { version = "1.0.203", features = ["derive"] } serde_json = "1.0.117" tracing = "0.1.40" +tracing-error = "0.2.0" futures = "0.3.30" bytes = "1.6.0" http = "1.1.0" thiserror = "1.0.61" -time = { version = "0.3.36", features = ["std", "parsing", "formatting", "macros", "serde"] } +time = { version = "0.3.36", features = [ + "std", + "parsing", + "formatting", + "macros", + "serde", +] } async-trait = "0.1.80" tokio = { version = "1.38.0", features = ["fs"] } -anyhow = "1.0.86" diff --git a/ecstore/Cargo.toml b/ecstore/Cargo.toml index 2c97f1a2..511bc07d 100644 --- a/ecstore/Cargo.toml +++ b/ecstore/Cargo.toml @@ -18,6 +18,8 @@ tracing.workspace = true serde.workspace = true time.workspace = true serde_json.workspace = true +tracing-error.workspace = true +http.workspace = true url = "2.5.2" uuid = { version = "1.8.0", features = ["v4", "fast-rng", "serde"] } reed-solomon-erasure = "6.0.0" @@ -25,7 +27,6 @@ transform-stream = "0.3.0" lazy_static = "1.5.0" regex = "1.10.5" netif = "0.1.6" -tracing-error = "0.2.0" path-absolutize = "3.1.1" rmp-serde = "1.3.0" tokio-util = { version = "0.7.11", features = ["io"] } @@ -36,7 +37,6 @@ base64-simd = "0.8.0" sha2 = "0.10.8" hex-simd = "0.8.0" path-clean = "1.0.1" -http.workspace = true tokio-stream = "0.1.15" [dev-dependencies] diff --git a/rustfs/Cargo.toml b/rustfs/Cargo.toml index 45f83802..6c1849cf 100644 --- a/rustfs/Cargo.toml +++ b/rustfs/Cargo.toml @@ -11,19 +11,28 @@ rust-version.workspace = true [dependencies] async-trait.workspace = true tracing.workspace = true -anyhow.workspace = true time = { workspace = true, features = ["parsing", "formatting"] } -tokio = { workspace = true, features = ["rt-multi-thread", "macros", "net", "signal"] } +tokio = { workspace = true, features = [ + "rt-multi-thread", + "macros", + "net", + "signal", +] } +tracing-error.workspace = true +http.workspace = true +bytes.workspace = true +futures.workspace = true + ecstore = { path = "../ecstore" } - s3s = "0.10.0" clap = { version = "4.5.7", features = ["derive"] } tracing-subscriber = { version = "0.3.18", features = ["env-filter", "time"] } -hyper-util = { version = "0.1.5", features = ["tokio", "server-auto", "server-graceful"] } -http.workspace = true +hyper-util = { version = "0.1.5", features = [ + "tokio", + "server-auto", + "server-graceful", +] } mime = "0.3.17" -bytes.workspace = true transform-stream = "0.3.0" -futures.workspace = true # pin-utils = "0.1.0" diff --git a/rustfs/src/main.rs b/rustfs/src/main.rs index 916a2ab3..16c1935c 100644 --- a/rustfs/src/main.rs +++ b/rustfs/src/main.rs @@ -11,6 +11,8 @@ use s3s::{auth::SimpleAuth, service::S3ServiceBuilder}; use std::io::IsTerminal; use tokio::net::TcpListener; use tracing::{debug, info}; +use tracing_error::ErrorLayer; +use tracing_subscriber::{fmt, layer::SubscriberExt, util::SubscriberInitExt}; fn setup_tracing() { use tracing_subscriber::EnvFilter; @@ -18,11 +20,14 @@ fn setup_tracing() { let env_filter = EnvFilter::from_default_env(); let enable_color = std::io::stdout().is_terminal(); - tracing_subscriber::fmt() + let subscriber = fmt() .pretty() .with_env_filter(env_filter) .with_ansi(enable_color) - .init(); + .finish() + .with(ErrorLayer::default()); + + subscriber.try_init().expect("failed to set global default subscriber"); } fn main() -> Result<()> {