- A formatter function can be passed to the CPLogRegister functions. If the given level already has a provider for the given level, the formatter will be replaced with the one passed to the register function.
- Added CPLogColorize function to make it easy for users to colorize messages.
- CPLogRegisterRange now checks for min <= max, and now correctly starts iterating from min.
- Moved colorization of log level to _CPFormatLogMessage.
- Whitespace cleanup.