Код: Выделить всё
void setup_logging() {
auto info_sink = std::make_shared();
info_sink->set_level(spdlog::level::info);
info_sink->set_pattern("[%H:%M:%S][INFO] %v");
auto debug_sink = std::make_shared();
debug_sink->set_level(spdlog::level::debug);
debug_sink->set_pattern("[%H:%M:%S][DEBUG][%g:%#] %v");
auto error_sink = std::make_shared();
error_sink->set_level(spdlog::level::err);
error_sink->set_pattern("[%H:%M:%S][ERROR] %v");
auto file_sink = std::make_shared("logs/log.txt", 0, 0);
file_sink->set_level(spdlog::level::trace);
file_sink->set_pattern("[%Y-%m-%d %H:%M:%S][%l] %v");
std::vector sinks{ info_sink, debug_sink, error_sink, file_sink };
auto logger = std::make_shared("multi_sink_logger", sinks.begin(), sinks.end());
logger->set_level(spdlog::level::trace);
spdlog::set_default_logger(logger);
spdlog::flush_on(spdlog::level::trace);
}
Код: Выделить всё
raid::setup_logging();
spdlog::info("entered main()");
[...]
SPDLOG_DEBUG("Initialized window");
Код: Выделить всё
[20:37:04][INFO] entered main()
[20:37:04][DEBUG][:] entered main()
[20:37:04][INFO] Loading settings from /home/.../settings.toml
[20:37:04][DEBUG][:] Loading settings from /home/.../settings.toml
[20:37:04][INFO] Startup
[20:37:04][DEBUG][:] Startup
[20:37:04][INFO] Initialized application
[20:37:04][DEBUG][:] Initialized application
[20:37:04][DEBUG][main.cpp:242] Initialized window
[20:37:04][DEBUG][main.cpp:243] Parsing arguments
Подробнее здесь: https://stackoverflow.com/questions/797 ... -info-sink
Мобильная версия