summaryrefslogtreecommitdiff
path: root/src/logger_base.hh
blob: feed8ef1cff8c33fce05ba807b807abc7a8f63d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef LOGGER_BASE_HH
#define LOGGER_BASE_HH

#include "logger.hh"

#include <string_view>

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