diff --git a/Cargo.lock b/Cargo.lock index 32675afdb..a65ae9fe0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1426,6 +1426,7 @@ dependencies = [ "tokio-tar", "tokio-util", "toml", + "tracing-subscriber", "url", "uuid", ] diff --git a/Cargo.toml b/Cargo.toml index fd2ee01b1..e6b8085f6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -104,6 +104,7 @@ 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 @@ -113,6 +114,7 @@ uuid = { version = "1", features = ["serde", "v4"] } # 3.1 branch will be supported until 2025-03-14. openssl-src = "~300.1" + [dev-dependencies] ansi_term = "0.12.0" anyhow = { version = "1", features = ["backtrace"] } # Enable `backtrace` feature in tests. @@ -181,4 +183,4 @@ vendored = [ "async-native-tls/vendored", "rusqlite/bundled-sqlcipher-vendored-openssl", "reqwest/native-tls-vendored" -] \ No newline at end of file +] diff --git a/src/context.rs b/src/context.rs index b4e5e50e5..46c8c7766 100644 --- a/src/context.rs +++ b/src/context.rs @@ -13,6 +13,7 @@ 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}; @@ -337,6 +338,13 @@ impl Context { events: Events, stock_strings: StockStrings, ) -> Result { + // set the RUST_LOG env var to one of {debug,info,warn} to see logging info + tracing_subscriber::registry() + .with(tracing_subscriber::fmt::layer().with_writer(std::io::stderr)) + .with(EnvFilter::from_default_env()) + .try_init() + .ok(); + let context = Self::new_closed(dbfile, id, events, stock_strings, Default::default()).await?;