logger: Refactor the logging framework
* Rename the previous Logger class to LogMessage (since that is what
it is), and consolidate logging functionality, including the
various output methods, setup of log file etc., into a new
Logger class.
* Hold the "debug log", i.e. the collected log messages, in the Logger
class instead of in the Client. Adapt the DebugLogWidget accordingly.
Messages will not be kept in quasselcore, as we wouldn't have a way
to display them otherwise (and we don't want to accumulate lots of
data over months of the core running).
* Support early log messages. Instantiate the Logger right at the
start of main(), and keep all log messages until the Quassel class
is initialized and we can rely on command-line options to configure
backends accordingly. Accumulated messages will be output once the
Logger is configured.
30 files changed: