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");