Function log_mdc::extend_scoped
[−]
[src]
pub fn extend_scoped<K, V, I>(entries: I) -> ExtendGuard where K: Into<String>, V: Into<String>, I: IntoIterator<Item=(K, V)>
Extends the MDC with new entries in a scoped fashion.
When the returned guard falls out of scope, it will restore the old values corresponding to the keys.
Examples
log_mdc::insert("foo", "a"); let entries = [ ("foo", "b"), ("fizz", "buzz"), ]; let guard = log_mdc::extend_scoped(entries.iter().cloned()); log_mdc::get("foo", |v| assert_eq!(Some("b"), v)); log_mdc::get("fizz", |v| assert_eq!(Some("buzz"), v)); drop(guard); log_mdc::get("foo", |v| assert_eq!(Some("a"), v)); log_mdc::get("fizz", |v| assert_eq!(None, v));