• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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]
reload_max_log_level()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 }
38