From 200b5b3b902db9735b22533c5e4b61798de519d3 Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Tue, 12 Mar 2024 22:42:00 -0600 Subject: Added log level config --- src/Companion.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/Companion.cpp') diff --git a/src/Companion.cpp b/src/Companion.cpp index d4f95d1..b59adb1 100644 --- a/src/Companion.cpp +++ b/src/Companion.cpp @@ -179,7 +179,7 @@ void Companion::ExtractNode(YAML::Node& node, std::string& name, SWrapper* binar auto exporter = factory->get()->GetExporter(this->gConfig.exporterType); if(!exporter.has_value()){ - SPDLOG_ERROR("No exporter found for {}", name); + SPDLOG_WARN("No exporter found for {}", name); return; } @@ -462,6 +462,27 @@ void Companion::Process() { } } + if(cfg["logging"]){ + auto level = cfg["logging"].as(); + if(level == "TRACE") { + spdlog::set_level(spdlog::level::trace); + } else if(level == "DEBUG") { + spdlog::set_level(spdlog::level::debug); + } else if(level == "INFO") { + spdlog::set_level(spdlog::level::info); + } else if(level == "WARN") { + spdlog::set_level(spdlog::level::warn); + } else if(level == "ERROR") { + spdlog::set_level(spdlog::level::err); + } else if(level == "CRITICAL") { + spdlog::set_level(spdlog::level::critical); + } else if(level == "OFF") { + spdlog::set_level(spdlog::level::off); + } else { + throw std::runtime_error("Invalid logging level, please use TRACE, DEBUG, INFO, WARN, ERROR, CRITICAL or OFF"); + } + } + SPDLOG_INFO("------------------------------------------------"); spdlog::set_pattern(line); @@ -744,7 +765,10 @@ void Companion::Process() { wrapper->Close(); } auto end = duration_cast(system_clock::now().time_since_epoch()); + auto level = spdlog::get_level(); + spdlog::set_level(spdlog::level::info); SPDLOG_INFO("Done! Took {}ms", end.count() - start.count()); + spdlog::set_level(level); spdlog::set_pattern(regular); SPDLOG_INFO("------------------------------------------------"); -- cgit v1.2.3