I think the logging library needs to be re-engineered to follow a more compartmental structure:
- Message - represents the information of a log message, could be anything from a flat string to a syslog structure
- Formatter - generates Messages in a terse, programmer-friendly syntax
- Logger - provides an output sink for Messages