Logger should be able to record into more than just std::cout and std::cerr. This is especially useful for Windows applications as they have different output streams as opposed to Linux. Consider using an off-the-shelf library to allow support for a wide range of sinks.