Description
Thread-safe logging, with additional interleaving fuzz-testing.
Description
This is a thread-safe logging framework. It logs to memory, with various options for serializing log messages out to a file or handle. A verbosity level controls the quantity of log messages. For debugging, this logging framework can do double-duty by controlling the interleaving of threads which are producing log messages, for the purpose of fuzz-testing concurrent interleavings. This is accomplished by blocking the threads at the point of each logging message, and controlling the order in which threads (sequentially) unblock.