1use log::Level;
2use log::LevelFilter;
3
4#[derive(#[automatically_derived]
impl ::core::fmt::Debug for Directive {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f, "Directive",
"name", &self.name, "level", &&self.level)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for Directive {
#[inline]
fn clone(&self) -> Directive {
Directive {
name: ::core::clone::Clone::clone(&self.name),
level: ::core::clone::Clone::clone(&self.level),
}
}
}Clone)]
5pub(crate) struct Directive {
6 pub(crate) name: Option<String>,
7 pub(crate) level: LevelFilter,
8}
9
10pub(crate) fn enabled(directives: &[Directive], level: Level, target: &str) -> bool {
12 for directive in directives.iter().rev() {
14 match directive.name {
15 Some(ref name) if !target.starts_with(&**name) => {}
16 Some(..) | None => return level <= directive.level,
17 }
18 }
19 false
20}