diff --git a/crates/arti/src/logging.rs b/crates/arti/src/logging.rs index d58a440d510a05da1508fa94075927095a6cb3be..6ba71da32c4abdba271f523d7e9e5ba533c0398a 100644 --- a/crates/arti/src/logging.rs +++ b/crates/arti/src/logging.rs @@ -111,11 +111,10 @@ fn filt_from_str_verbose(s: &str, source: &str) -> Result<Targets> { /// As filt_from_str_verbose, but treat an absent filter (or an empty string) as /// None. fn filt_from_opt_str(s: &Option<String>, source: &str) -> Result<Option<Targets>> { - let s = match s { - Some(ref s) if !s.is_empty() => Some(s.as_str()), + Ok(match s { + Some(s) if !s.is_empty() => Some(filt_from_str_verbose(s, source)?), _ => None, - }; - s.map(|s| filt_from_str_verbose(s, source)).transpose() + }) } /// Try to construct a tracing [`Layer`] for logging to stdout.