diff --git a/src/utils.cpp b/src/utils.cpp index dd2f504..c9db2c0 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -271,6 +271,18 @@ void dump_to_log(const std::string& data) noexcept { spdlog::info("[DUMP_TO_LOG] :=\n{}", data); } +void dump_settings_to_log() noexcept { + auto* config_instance = Config::instance(); + auto& config_data = config_instance->data(); + + std::string out{}; + for(const auto& [key, value] : config_data) { + const auto& value_formatted = std::visit([](auto&& arg) -> std::string { return fmt::format("{}", arg); }, value); + out += fmt::format("Option: [{}], Value: [{}]\n", key, value_formatted); + } + spdlog::info("Settings:\n{}", out); +} + bool prompt_char(const char* prompt, const char* color, char* read) noexcept { fmt::print("{}{}{}\n", color, prompt, RESET); diff --git a/src/utils.hpp b/src/utils.hpp index 51df69a..f521ad3 100644 --- a/src/utils.hpp +++ b/src/utils.hpp @@ -68,6 +68,7 @@ auto exec(const std::string_view& command, const bool& interactive = false) noex [[nodiscard]] auto read_whole_file(const std::string_view& filepath) noexcept -> std::string; bool write_to_file(const std::string_view& data, const std::string_view& filepath) noexcept; void dump_to_log(const std::string& data) noexcept; +void dump_settings_to_log() noexcept; [[nodiscard]] bool check_root() noexcept; void id_system() noexcept; [[nodiscard]] bool handle_connection() noexcept;