32 #include "spdlog/spdlog.h"
33 #include "fmt/ostream.h"
34 #include "spdlog/sinks/stdout_sinks.h"
39 decltype(spdlog::details::registry::instance()) get_registry();
44 static Log& instance()
46 static Log *instance =
new Log();
50 std::shared_ptr<spdlog::logger> logger;
51 std::shared_ptr<spdlog::sinks::stdout_sink_st> console_sink;
52 std::string generic_pattern;
53 spdlog::level::level_enum default_level;
57 generic_pattern =
"[%n]\t(%l)\t%v";
58 default_level = spdlog::level::info;
60 console_sink = std::make_shared<spdlog::sinks::stdout_sink_st>();
61 logger = std::make_shared<spdlog::logger>(
"pteros", console_sink);
62 logger->set_pattern(generic_pattern);
63 logger->set_level(default_level);
64 spdlog::register_logger(logger);
65 }
catch (
const spdlog::spdlog_ex& ex) {
66 std::cout <<
"Log initialization failed: " << ex.what() << std::endl;
71 std::shared_ptr<spdlog::logger> create_logger(
const std::string& name);
73 void set_log_level(
const std::string& lev);
77 #define LOG() (Log::instance().logger)