Crate log_mdc [−] [src]
A mapped diagnostic context (MDC) for use with the log
crate.
An MDC is a thread local map of strings used to make relevant information from a system available in its log messages. Logging crates such as log4rs will retrieve values from the MDC for output.
For example, a web server may process many requests simultaneously on different threads. Generating an ID for each request and storing it in the MDC makes it easy to partition log messages on a per-request basis.
Examples
Forwarding the contents of the MDC to a new thread:
use std::thread; let mut mdc = vec![]; log_mdc::iter(|k, v| mdc.push((k.to_owned(), v.to_owned()))); thread::spawn(|| { log_mdc::extend(mdc); });
Structs
ExtendGuard |
A guard objects which restores MDC entries when dropped. |
InsertGuard |
A guard object which restores an MDC entry when dropped. |
Functions
clear |
Removes all values from the MDC. |
extend |
Extends the MDC with new entries. |
extend_scoped |
Extends the MDC with new entries in a scoped fashion. |
get |
Retrieves a value from the MDC. |
insert |
Inserts a new entry into the MDC, returning the old value. |
insert_scoped |
Inserts a new entry into the MDC in a scoped fashion. |
iter |
Invokes the provided closure for each entry in the MDC. |
remove |
Removes a value from the MDC. |