Skip to main content

Logging

#include <spdlog/spdlog.h>

spdlog::set_pattern("[%^%L%$] [%Y-%m-%d %T.%e] [%5t] [%s:%#] %v");
SPDLOG_DEBUG("Hello");
SPDLOG_INFO("Hello and float: {:.2f}", 3.14);
SPDLOG_WARN("Warn");
SPDLOG_ERROR("Error");

#include <spdlog/sinks/basic_file_sink.h>
auto file_sink =
std::make_shared<spdlog::sinks::basic_file_sink_mt>("log.txt", false);
spdlog::default_logger()->sinks().push_back(file_sink);

#include <spdlog/sinks/rotating_file_sink.h>
std::size_t log_file_max_size = 1048576 * 10;
std::size_t log_max_files = 5;
auto file_sink = std::make_shared<spdlog::sinks::rotating_file_sink_mt>(
log_file, log_file_max_size, log_max_files, false);
file_sink->set_pattern("[%^%L%$] [%Y-%m-%d %T.%e] [%5t] [%s:%#] %v");

spdlog::flush_on(spdlog::level::warn);
using namespace std::chrono_literals;
spdlog::flush_every(5s);