7 #include "fmt/format.h"
8 #include "fmt/ostream.h"
18 template <
typename... Args>
void trace(
const char*,
const Args&...) {}
19 template <
typename... Args>
void debug(
const char*,
const Args&...) {}
20 template <
typename... Args>
void info(
const char*,
const Args&...) {}
21 template <
typename... Args>
void warn(
const char*,
const Args&...) {}
22 template <
typename... Args>
void error(
const char*,
const Args&...) {}
23 template <
typename... Args>
void critical(
const char*,
const Args&...) {}
28 std::shared_ptr<spd::logger>
31 return std::make_shared<spd::logger>();
35 std::shared_ptr<spd::logger>
36 create_logger(std::string)
38 return std::make_shared<spd::logger>();
41 template<
class... Args>
42 std::shared_ptr<spd::logger>
45 return std::make_shared<spd::logger>();
50 #else // DIY_USE_SPDLOG
54 #include <spdlog/spdlog.h>
55 #include <spdlog/sinks/null_sink.h>
57 #include <spdlog/fmt/bundled/format.h>
58 #include <spdlog/fmt/bundled/ostream.h>
63 namespace spd = ::spdlog;
66 std::shared_ptr<spd::logger>
69 auto log = spd::get(
"diy");
72 auto null_sink = std::make_shared<spd::sinks::null_sink_mt> ();
73 log = std::make_shared<spd::logger>(
"null_logger", null_sink);
79 std::shared_ptr<spd::logger>
80 create_logger(std::string log_level)
82 auto log = spd::stderr_logger_mt(
"diy");
84 for (lvl = spd::level::trace; lvl < spd::level::off; ++lvl)
85 if (spd::level::level_names[lvl] == log_level)
87 log->set_level(static_cast<spd::level::level_enum>(lvl));
91 template<
class... Args>
92 std::shared_ptr<spd::logger>
93 set_logger(Args... args)
95 auto log = std::make_shared<spdlog::logger>(
"diy", args...);
103 #endif // DIY_LOG_HPP