mumble/docs/dev
Davide Beatrici b8357e8a25 FEAT(client): Introduce new logging system based on spdlog
Sinks:

- OutputDebugString() (for debugger on Windows)
- Standard output stream (stdout)
- File
- Developer console (Qt widget)

Improvements compared to our old logging system based on Qt:

- Duplicate messages are skipped if less than 5 seconds have passed. When that happens, an informative message is printed.
- The previous format/pattern is retained, but the log level (e.g. "<W>") is colored based on the severity.
- The log is now written to a file on all platforms, not only Windows and macOS.
- When the log file's size reaches 5 MiB, the sink renames it and creates a new one. Up to 4 files are kept:
    Console.txt   -> Console.1.txt
    Console.1.txt -> Console.2.txt
    Console.2.txt -> Console.3.txt
    Console.3.txt -> <delete>
- We can eventually create multiple loggers, ideally one for each facility (Audio, ServerHandler, etc.).
  That would allow us to quickly filter log messages and know right away which subsystem is responsible for them.
- Modern C++ string formatting. This of course only applies to the new functions such as log::debug(), not qDebug().

Only one "feature" is not reimplemented: showing a dialog in case of a fatal error, right before exiting the program.
However, that only worked on Windows and macOS using their native API, to avoid depending on a Qt event loop.
2025-01-21 02:55:19 +01:00
..
build-instructions FEAT(client): Introduce new logging system based on spdlog 2025-01-21 02:55:19 +01:00
maintenance DOCS: Backporting translations 2021-09-06 08:50:32 +02:00
network-protocol DOCS(protocol): Add file references to README.rst 2024-11-03 18:21:44 +01:00
plugins REFAC(plugins): Unified Mumble plugin headers 2023-07-27 19:39:30 +02:00
Accessibility.md DOCS: Add accessibility checklist 2024-04-04 13:23:05 +00:00
AudioInputDebug.md DOCS: Restructure and include build-documentation 2020-10-12 08:16:01 +02:00
ExtendingTheIceInterface.md MAINT: Remove mentions of the Mumble wiki 2024-09-24 12:34:22 +00:00
IncrementingTheMumbleAPI.md REFAC(plugins): Unified Mumble plugin headers 2023-07-27 19:39:30 +02:00
MurmurLocking.md DOCS: Restructure and include build-documentation 2020-10-12 08:16:01 +02:00
Profiling.md FEAT(server): Add support for the tracy profiler 2021-12-29 18:01:28 +01:00
TheMumbleSourceCode.md MAINT: Remove mentions of the Mumble wiki 2024-09-24 12:34:22 +00:00