#ifndef LOGGER_BASE_HH #define LOGGER_BASE_HH #include #include "logger.hh" class LoggerBase : public Logger { public: void err(char const* format, ...) override; void warn(char const* format, ...) override; void info(char const* format, ...) override; #ifndef NDEBUG void dbg(char const* format, ...) override; #endif protected: enum class Level { ERR, WARN, INFO, DBG }; virtual void msg(Level level, std::string_view str) = 0; }; #endif // LOGGER_BASE_HH