citra-emu/citra — pull request #258 by yuriks (2014-12-07 01:29:35+00:00)
Title: New logging system

This PR revamps the logging system, re-writing it entirely. The code has pretty extensive documentation (I hope) but here are the highlights:
- Multi-threaded logging, avoiding excessive logging from slowing down the emulation as much. (Especially on Windows where console writes are slow.)
- Nicely trimmed paths relative to the source directory, without the source repository prefix.
- Completely re-organized severity levels and log classes, with documentation providing guidelines for use of each class which should prevent misuse.
- All the logging statements in the code have been updated to follow the new guidelines.
- Runtime-configurable filter (currently read from the configuration file) allowing configuration of the log levels for each different log class.
- Possibility of future extensions to support logging to the GUI or silencing of spammy log messages. (Planned for future PRs.)