30#include "g2o/config.h"
32#ifdef G2O_HAVE_LOGGING
33#include <spdlog/spdlog.h>
43class LoggerInterface {
49 LoggerInterface(LoggerInterface&) =
delete;
50 void operator=(LoggerInterface&) =
delete;
52 spdlog::logger& console() {
return *console_; }
55 std::shared_ptr<spdlog::logger> console_;
67 static auto instance_ = std::make_unique<T>();
70 constexpr Singleton(
const Singleton&) =
delete;
71 constexpr Singleton& operator=(
const Singleton&) =
delete;
76using Logger = internal::Singleton<internal::LoggerInterface>;
80#define G2O_INFO(...) g2o::Logger::get().console().info(__VA_ARGS__)
81#define G2O_WARN(...) g2o::Logger::get().console().warn(__VA_ARGS__)
82#define G2O_ERROR(...) g2o::Logger::get().console().error(__VA_ARGS__)
83#define G2O_DEBUG(...) g2o::Logger::get().console().debug(__VA_ARGS__)
void setLevel(Level level)
Set the Log Level.