|
| 1 | +#![cfg(all(feature = "env-filter", feature = "tracing-log"))] |
| 2 | + |
| 3 | +use tracing::{self, Level}; |
| 4 | +use tracing_mock::{expect, subscriber}; |
| 5 | +use tracing_subscriber::{filter::LevelFilter, prelude::*, reload}; |
| 6 | + |
| 7 | +#[test] |
| 8 | +fn reload_max_log_level() { |
| 9 | + let (subscriber, finished) = subscriber::mock() |
| 10 | + .event(expect::event().at_level(Level::INFO)) |
| 11 | + .event(expect::event().at_level(Level::DEBUG)) |
| 12 | + .event(expect::event().at_level(Level::INFO)) |
| 13 | + .only() |
| 14 | + .run_with_handle(); |
| 15 | + let (filter, reload_handle) = reload::Layer::new(LevelFilter::INFO); |
| 16 | + subscriber.with(filter).init(); |
| 17 | + |
| 18 | + assert!(log::log_enabled!(log::Level::Info)); |
| 19 | + assert!(!log::log_enabled!(log::Level::Debug)); |
| 20 | + assert!(!log::log_enabled!(log::Level::Trace)); |
| 21 | + |
| 22 | + log::debug!("i'm disabled"); |
| 23 | + log::info!("i'm enabled"); |
| 24 | + |
| 25 | + reload_handle |
| 26 | + .reload(Level::DEBUG) |
| 27 | + .expect("reloading succeeds"); |
| 28 | + |
| 29 | + assert!(log::log_enabled!(log::Level::Info)); |
| 30 | + assert!(log::log_enabled!(log::Level::Debug)); |
| 31 | + assert!(!log::log_enabled!(log::Level::Trace)); |
| 32 | + |
| 33 | + log::debug!("i'm enabled now"); |
| 34 | + log::info!("i'm still enabled, too"); |
| 35 | + |
| 36 | + finished.assert_finished(); |
| 37 | +} |
0 commit comments