Descent3 icon indicating copy to clipboard operation
Descent3 copied to clipboard

Logging framework

Open winterheart opened this issue 6 months ago • 2 comments

Currently we have a somewhat crippled logging facility based on an old ddebug/mono submodule. It is available only on Debug and does not provide any useful information on Release build. There was another attempt to use the spdlog library (#212), but we reverted it as it added unneeded external dependency.

For our needs logging framework should have following features:

  • Header-only or extremely lightweight embedded library that allows us to use logging without dllexports in our external libraries.
  • GPLv3-compatible license.
  • Library should support console (stderr/stdout) and file output, with configurable format of message (like timestamp, severity, location and message).
  • ostream (<<) and printf-like syntax for creating messages.
  • Optionally support for C++17 and STL containers.

After some research I'd like to propose to switch the plog library (https://github.com/SergiusTheBest/plog) as the most suitable solution.

winterheart avatar Aug 18 '24 11:08 winterheart