diff --git a/Cargo.toml b/Cargo.toml index cba77f1f4..e5b2ac391 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -104,7 +104,6 @@ tokio-util = "0.7.9" toml = "0.8" url = "2" uuid = { version = "1", features = ["serde", "v4"] } -tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Pin OpenSSL to 3.1 releases. # OpenSSL 3.2 has a regression tracked at diff --git a/deltachat-rpc-server/Cargo.toml b/deltachat-rpc-server/Cargo.toml index 6567d4cd4..57208d82a 100644 --- a/deltachat-rpc-server/Cargo.toml +++ b/deltachat-rpc-server/Cargo.toml @@ -22,6 +22,7 @@ serde = { version = "1.0", features = ["derive"] } tokio = { version = "1.37.0", features = ["io-std"] } tokio-util = "0.7.9" yerpc = { version = "0.5.2", features = ["anyhow_expose", "openrpc"] } +tracing-subscriber = { version = "0.3", features = ["env-filter"] } [features] default = ["vendored"] diff --git a/deltachat-rpc-server/src/main.rs b/deltachat-rpc-server/src/main.rs index 2ed976609..1071c0b8a 100644 --- a/deltachat-rpc-server/src/main.rs +++ b/deltachat-rpc-server/src/main.rs @@ -11,6 +11,7 @@ use deltachat::constants::DC_VERSION_STR; use deltachat_jsonrpc::api::{Accounts, CommandApi}; use futures_lite::stream::StreamExt; use tokio::io::{self, AsyncBufReadExt, BufReader}; +use tracing_subscriber::{prelude::*, EnvFilter}; use yerpc::RpcServer as _; #[cfg(target_family = "unix")] @@ -62,6 +63,16 @@ async fn main_impl() -> Result<()> { env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init(); + tracing_subscriber::registry() + .with(tracing_subscriber::fmt::layer().with_writer(std::io::stderr)) + .with( + EnvFilter::builder() + .with_default_directive(tracing_subscriber::filter::LevelFilter::DEBUG.into()) + .from_env_lossy(), + ) + .try_init() + .ok(); + let path = std::env::var("DC_ACCOUNTS_PATH").unwrap_or_else(|_| "accounts".to_string()); log::info!("Starting with accounts directory `{}`.", path); let writable = true; diff --git a/src/context.rs b/src/context.rs index b6da83a98..289ea0e6b 100644 --- a/src/context.rs +++ b/src/context.rs @@ -13,7 +13,6 @@ use async_channel::{self as channel, Receiver, Sender}; use pgp::SignedPublicKey; use ratelimit::Ratelimit; use tokio::sync::{Mutex, Notify, OnceCell, RwLock}; -use tracing_subscriber::{prelude::*, EnvFilter}; use crate::aheader::EncryptPreference; use crate::chat::{get_chat_cnt, ChatId, ProtectionStatus}; @@ -456,17 +455,6 @@ impl Context { inner: Arc::new(inner), }; - tracing_subscriber::registry() - .with(tracing_subscriber::fmt::layer().with_writer(std::io::stderr)) - // .with(DeltaLayer(ctx.clone())) - .with( - EnvFilter::builder() - .with_default_directive(tracing_subscriber::filter::LevelFilter::DEBUG.into()) - .from_env_lossy(), - ) - .try_init() - .ok(); - Ok(ctx) } @@ -1424,32 +1412,6 @@ impl tracing::field::Visit for CollectVisitor { } } -// set the RUST_LOG env var to one of {debug,info,warn} to see logging info -struct DeltaLayer(Context); - -impl tracing_subscriber::Layer for DeltaLayer { - fn on_event( - &self, - event: &tracing::Event<'_>, - _ctx: tracing_subscriber::layer::Context<'_, S>, - ) { - let mut visitor = CollectVisitor::default(); - event.record(&mut visitor); - - use tracing::Level; - - let out_event = if event.metadata().level() == &Level::WARN { - EventType::Warning(format!("{:?}", visitor)) - } else if event.metadata().level() == &Level::ERROR { - EventType::Error(format!("{:?}", visitor)) - } else { - EventType::Info(format!("{:?}", visitor)) - }; - - self.0.emit_event(out_event); - } -} - #[cfg(test)] mod tests { use anyhow::Context as _;