How does the tracing crate work under the hood?

35 points ToolAssistedDev

I am still very new to Rust and what you can do with the tracing crate/eco system is just amazing!

But i really struggle to understand, how on earth can tracing keep track of the context from one log function call to the next in a multithreaded and multitasked environment and have access to information throughout all log function calls?

Would be nice if someone could explain this for me in an eli5 style.