Create a manager and interface classes LogManager and Logger. LogManager should manage, allocate, and free Loggers as needed. LogManager should statically reference one I/O file.
Loggers should statically reference one I/O file, hold parameters for how the individual logger should log into that file, and coordinate logging across threads. Loggers should also have options to send logs of certain levels (debug, info, warn, error, etc.) to console for debugging.
Create a manager and interface classes LogManager and Logger. LogManager should manage, allocate, and free Loggers as needed. LogManager should statically reference one I/O file. Loggers should statically reference one I/O file, hold parameters for how the individual logger should log into that file, and coordinate logging across threads. Loggers should also have options to send logs of certain levels (debug, info, warn, error, etc.) to console for debugging.