Summary
We not only added a great new feature to the logging library that lets it send log messages to multiple destinations but we also added this ability using an interface. The interface helps document and isolate the idea of sending lines of text to a destination. This helped uncover a dependency that the logging library has. The logging library depends on the ability to send text somewhere.
The destination could be a log file or the console, or somewhere else. Until we identified this dependency, the logging library was making assumptions in many places that it was working with a log file only. We were able to simplify the design and, at the same time create a more flexible design.
We were also able to get the file logging working without a complete file logging component. We created a mock of the file logging component that leaves out all the additional file management tasks that a full implementation will need. While useful, the additional capabilities are not needed right...