summaryrefslogtreecommitdiffstats
path: root/vendor/tracing-subscriber/src/filter/level.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/tracing-subscriber/src/filter/level.rs')
-rw-r--r--vendor/tracing-subscriber/src/filter/level.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/vendor/tracing-subscriber/src/filter/level.rs b/vendor/tracing-subscriber/src/filter/level.rs
new file mode 100644
index 000000000..0fa601260
--- /dev/null
+++ b/vendor/tracing-subscriber/src/filter/level.rs
@@ -0,0 +1,27 @@
+use tracing_core::{
+ subscriber::{Interest, Subscriber},
+ Metadata,
+};
+
+#[allow(unreachable_pub)] // https://github.com/rust-lang/rust/issues/57411
+pub use tracing_core::metadata::{LevelFilter, ParseLevelFilterError as ParseError};
+
+// === impl LevelFilter ===
+
+impl<S: Subscriber> crate::Layer<S> for LevelFilter {
+ fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest {
+ if self >= metadata.level() {
+ Interest::always()
+ } else {
+ Interest::never()
+ }
+ }
+
+ fn enabled(&self, metadata: &Metadata<'_>, _: crate::layer::Context<'_, S>) -> bool {
+ self >= metadata.level()
+ }
+
+ fn max_level_hint(&self) -> Option<LevelFilter> {
+ Some(*self)
+ }
+}