Logging System, the 2nd

Just the code. Example and Doxygen documentation will follow in a new request.