4#include <wmtk/utils/DisableWarnings.hpp>
5#include <spdlog/fmt/bundled/ranges.h>
6#include <spdlog/fmt/ostr.h>
7#include <spdlog/spdlog.h>
8#include <wmtk/utils/EnableWarnings.hpp>
13bool has_user_overloaded_logger_level();
19spdlog::logger& logger();
26spdlog::logger& opt_logger();
34void set_logger(std::shared_ptr<spdlog::logger> logger);
41void set_file_logger(
const std::string& log_file);
49void set_opt_logger(std::shared_ptr<spdlog::logger> logger);
51[[noreturn]]
void log_and_throw_error(
const std::string& msg);
53template <
typename... Args>
54[[noreturn]]
void log_and_throw_error(
const std::string& msg,
const Args&... args)
56 log_and_throw_error(fmt::format(fmt::runtime(msg), args...));