The Logger class is an abstract class that is intended to be used in libraries that do no want to impose a particular logging format and/or way of recording log messages.
Message objects are returned by the Logger::retrieve_messages() method, and contain information about the logged message, such as the date when the message was logged and the message's level.