spdlog
spdlog::level::trace // very detailed (lowest)
spdlog::level::debug // debug info
spdlog::level::info // general info
spdlog::level::warn // warnings
spdlog::level::err // errors
spdlog::level::critical // critical errors (highest before off)
spdlog::level::off // disable logging
spdlog::set_level(spdlog::level::info); // ignore debug/trace
if there are multiple loggers
// stdout → the sink is standard output (terminal/console).
// color → messages are colorized depending on log level (e.g., errors in red, warnings in yellow).
// mt → stands for multi-threaded (thread-safe). There is also a _st variant for single-threaded use (slightly faster if you don’t need thread-safety).
// my_console → the unique name you give this logger, so you can retrieve it later with spdlog::get("name").
auto logger = spdlog::stdout_color_mt("my_console");
logger->set_level(spdlog::level::debug); // only this logger
logger->info("Hello from my_console logger");