The library spdlog is used for logging. The logger is set up
in src/core/Core/Log.{cpp,hpp} that will define a default logger writing to stdout and into a app.log file. The
macros used for logging are defined in src/core/Core/Log.hpp.
The available macros are defined in order of severity.
APP_TRACEAPP_DEBUGAPP_INFOAPP_WARNAPP_ERRORAPP_FATAL
The levels APP_TRACE and APP_DEBUG are only enabled in debug mode or when DEBUG is defined through CMake.
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DDEBUG -B build/releaseLogging can also fully be deactivated via DEACTIVATE_LOGGING.
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DDEACTIVATE_LOGGING -B build/debugInclude the logger and use one of the macros. All logger macros use fmt under the hood for string formatting.
#include "Core/Log.hpp"
namespace App {
Window::Window(const Settings& settings) {
APP_DEBUG("Window created: {}", settings.title);
}
}Next up: Dependencies