If a Mutex is used, it should be used on both the write and read accesses for correctness.
This functionality feels like a better fit for fiber/thread-local variables though.
Is it possible to have multiple Logster::Logger instances, or is it always just one? If multiple we somehow need to make the instance’s object_id part of the key used for fiber/thread-local lookups.