summaryrefslogtreecommitdiff
path: root/src/Companion.cpp
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2024-03-12 22:42:00 -0600
committerKiritoDv <kiritodev01@gmail.com>2024-03-12 22:42:00 -0600
commit200b5b3b902db9735b22533c5e4b61798de519d3 (patch)
treea751739eb01a6dd9a17dd2090da5aaa802ab413f /src/Companion.cpp
parentd395199ba23a17b74585802595b1e7fd2cd71c11 (diff)
Added log level config
Diffstat (limited to 'src/Companion.cpp')
-rw-r--r--src/Companion.cpp26
1 files changed, 25 insertions, 1 deletions
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<std::string>();
+ 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<milliseconds>(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("------------------------------------------------");