blob: 6052a2d00cda4bbaafa5f126a4bebb13c17cc6a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
use super::*;
use tracing_subscriber::{
filter::{filter_fn, FilterExt, LevelFilter},
prelude::*,
};
#[test]
fn and() {
let (layer, handle) = layer::mock()
.event(
event::msg("a very interesting event")
.at_level(tracing::Level::INFO)
.with_target("interesting_target"),
)
.done()
.run_with_handle();
// Enables spans and events with targets starting with `interesting_target`:
let target_filter = filter::filter_fn(|meta| meta.target().starts_with("interesting_target"));
// Enables spans and events with levels `INFO` and below:
let level_filter = LevelFilter::INFO;
// Combine the two filters together, returning a filter that only enables
// spans and events that *both* filters will enable:
let filter = target_filter.and(level_filter);
let _subscriber = tracing_subscriber::registry()
.with(layer.with_filter(filter))
.set_default();
// This event will *not* be enabled:
tracing::info!("an event with an uninteresting target");
// This event *will* be enabled:
tracing::info!(target: "interesting_target", "a very interesting event");
// This event will *not* be enabled:
tracing::debug!(target: "interesting_target", "interesting debug event...");
handle.assert_finished();
}
|