diff options
Diffstat (limited to 'vendor/chalk-solve-0.87.0/src/logging.rs')
-rw-r--r-- | vendor/chalk-solve-0.87.0/src/logging.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/chalk-solve-0.87.0/src/logging.rs b/vendor/chalk-solve-0.87.0/src/logging.rs new file mode 100644 index 000000000..a5be4d4d4 --- /dev/null +++ b/vendor/chalk-solve-0.87.0/src/logging.rs @@ -0,0 +1,19 @@ +/// Run an action with a tracing log subscriber. The logging level is loaded +/// from `CHALK_DEBUG`. +#[cfg(feature = "tracing-full")] +pub fn with_tracing_logs<T>(action: impl FnOnce() -> T) -> T { + use tracing_subscriber::{layer::SubscriberExt, EnvFilter, Registry}; + use tracing_tree::HierarchicalLayer; + let filter = EnvFilter::from_env("CHALK_DEBUG"); + let subscriber = Registry::default() + .with(filter) + .with(HierarchicalLayer::new(2).with_writer(std::io::stdout)); + tracing::subscriber::with_default(subscriber, action) +} + +/// Run an action with a tracing log subscriber. The logging level is loaded +/// from `CHALK_DEBUG`. +#[cfg(not(feature = "tracing-full"))] +pub fn with_tracing_logs<T>(action: impl FnOnce() -> T) -> T { + action() +} |