enabled.rs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #![cfg(feature = "std")]
  2. use tracing::Level;
  3. use tracing_mock::*;
  4. #[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
  5. #[test]
  6. fn level_and_target() {
  7. let subscriber = subscriber::mock()
  8. .with_filter(|meta| {
  9. if meta.target() == "debug_module" {
  10. meta.level() <= &Level::DEBUG
  11. } else {
  12. meta.level() <= &Level::INFO
  13. }
  14. })
  15. .done()
  16. .run();
  17. let _guard = tracing::subscriber::set_default(subscriber);
  18. assert!(tracing::enabled!(target: "debug_module", Level::DEBUG));
  19. assert!(tracing::enabled!(Level::ERROR));
  20. assert!(!tracing::enabled!(Level::DEBUG));
  21. }
  22. #[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
  23. #[test]
  24. fn span_and_event() {
  25. let subscriber = subscriber::mock()
  26. .with_filter(|meta| {
  27. if meta.target() == "debug_module" {
  28. meta.level() <= &Level::DEBUG
  29. } else if meta.is_span() {
  30. meta.level() <= &Level::TRACE
  31. } else if meta.is_event() {
  32. meta.level() <= &Level::DEBUG
  33. } else {
  34. meta.level() <= &Level::INFO
  35. }
  36. })
  37. .done()
  38. .run();
  39. let _guard = tracing::subscriber::set_default(subscriber);
  40. // Ensure that the `_event` and `_span` alternatives work corretly
  41. assert!(!tracing::event_enabled!(Level::TRACE));
  42. assert!(tracing::event_enabled!(Level::DEBUG));
  43. assert!(tracing::span_enabled!(Level::TRACE));
  44. // target variants
  45. assert!(tracing::span_enabled!(target: "debug_module", Level::DEBUG));
  46. assert!(tracing::event_enabled!(target: "debug_module", Level::DEBUG));
  47. }